NoSQL Redis – первые шаги

Решение отказаться от PostgreSQL и перейти на Redis было принято еще полтора месяца назад. Но только сегодня практически полностью завершена интеграция базы в платформу. Изначально для доступа к базе данных я использовал JRedis. Чуток позже выяснилось, что он поддерживается не все команды, в том числе он не поддерживал работу с hash. А это для нас критично. Пришлось править код и добавлять поддержку данных команд, поддержку то я сделал, но разбираясь в чужом коде понял, что это совершенно не Realtime решение. А сборке мусора автор даже не подумал, куча объектов, структур и классов. Сам проект – 200 классов самого разнообразного назначения. И поэтому пришлось самому писать API для доступа. В итоге – 5 классов и 10 JUNIT тестов, поддержка всех существующий команд. Работа с сокетами на уровне ByteBuffer и NIO. Пул коннектов, шардинг и многое другое. И все это работает в OSGi. Исходный код дать не могу, но кому интересно – пишите, по крайней мере на вопросы отвечу. По скорости процентов на 30% быстрее чем JRedis, по памяти раза в три и главное не создает объектов в процессе работы.

Redis меня в последнее время радует, недавно сделали поддержку виртуальной памяти, в итоге можно хранить достаточно большое количество данных, нам вполне хватит. А поддержка сортированный SET вообще сказка, именно на нем мы будем делать TOP рейтинг игроков (пример можно посмотреть на http://tankionline.com).