Должен ли я использовать API-интерфейс сеанса с помощью Redis и Memcached? - PullRequest
3 голосов
/ 25 февраля 2011

Если я использую и redis, и memcached, имеет ли смысл использовать встроенный сеансовый API?

Я понимаю, что ruby ​​на рельсах может легко использовать memcached, используя его встроенные API, но я хочу использовать и memcached и redis.

Если мне нужно вручную получить доступ к Redis, когда я подключаюсь к нему по запросу?

Ответы [ 3 ]

5 голосов
/ 02 марта 2011

Вы все еще можете использовать API сеанса Rails с другими хранилищами, включая Redis и Memcached .Хранилище - это просто место хранения данных сеанса.API сеансов Rails по-прежнему управляет сессиями за вас.

3 голосов
/ 02 марта 2011

Вы не упоминаете, в каких контекстах вы используете Redis и Memcached (или почему вы используете оба, или how ), но я предполагаю, что вы думаете о данных сеанса и кеширование (на основе этого более раннего вопроса: Rails и кеширование, легко ли переключаться между memcache и redis? )

В любом случае не использует реальное значение API, предоставляемое Rails, если только у вас нет особого варианта использования.

Если вам абсолютно необходимо использовать и , просто скажите Rails, какой механизм хранения вы хотите использовать для какой функции.

Если вы занимаетесь чем-то другим, возможно, немного больше информации поможет людям дать более полезные ответы.

0 голосов
/ 02 марта 2011

В Ruby вы можете хранить свои данные в любом хранилище данных. Не уверен, что вы можете использовать встроенный сеансовый API для сохранения в Redis и memcached для того же сеанса.

Если вы обращаетесь к Redis вручную, просто подключитесь к нему как можно меньше раз и используйте постоянные соединения, если это необходимо, для повышения производительности.

Для PHP и других серверных скриптовых языков вы можете не использовать встроенное управление сессиями. Многие серверные языки сценариев (например, PHP) хранят информацию о сеансе во временном каталоге на жестком диске. Только идентификатор сеанса хранится в куки. Преимущество Redis и memcached в том, что они могут избежать доступа к диску и хранить всю информацию о сеансе / пользователе в памяти. Поэтому вместо использования встроенного API сеанса просто напишите свой собственный маленький API сеанса, используя файлы cookie и взаимодействуя с Redis или memcached.

...