Постоянство в Ruby on Rails? - PullRequest
       11

Постоянство в Ruby on Rails?

1 голос
/ 12 февраля 2009

Есть ли способ сохранить данные между загрузками страниц в RoR? Я думаю, что я ищу что-то вроде memcached, но без издержек TCP / IP Например, PHP имеет APC .

Идеальным решением было бы что-то в памяти.

Ответы [ 5 ]

2 голосов
/ 12 февраля 2009

Почему бы вам просто не сохранить это в сеансе? Сеанс может иметь несколько бэкэндов, таких как memcache или даже база данных. Я думаю, что можно развернуть memcache локально, так что это не будет иметь большого значения.

Другой возможностью является использование файлового бэкэнда и его сохранение на ОЗУ. Но, возможно, есть некоторые библиотеки памяти для ruby, которые позволяют вам сохранять эти результаты непосредственно в ram, но я не получил никакого опыта.

1 голос
/ 12 февраля 2009

хранилища сессий на основе cookie быстро создаются, не требуют хранения или извлечения на стороне сервера, являются безопасными, и по умолчанию Rails Пока данные меньше 4 КБ, нет причин не использовать это.

0 голосов
/ 12 февраля 2009

Вы также можете сериализовать модели ActiveRecord. См. Метод serialize .

0 голосов
/ 12 февраля 2009

Я бы не назвал компонент TCP / IP «накладными расходами» - если вы не используете сервер memcached в другом состоянии или что-то в этом роде. Memchached можно запускать локально, и рельсы прекрасно с этим работают. Возможно, у memcached есть возможность использовать файл сокета вместо IP-адреса и порта, но я не рассматривал этот

0 голосов
/ 12 февраля 2009

Сколько данных? Если это мало, вы можете сохранить его в данных сеанса (т.е. session[:my_data] = "foo").

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...