класс ActionDispatch::Session::CacheStore
Сессия хранилище, использующее ActiveSupport::Cache::Store для хранения сессий. Это хранилище наиболее полезно, если вы не храните критичные данные в сессиях и вам не нужно, чтобы они хранились длительное время.
Публичные методы класса
# File actionpack/lib/action_dispatch/middleware/session/cache_store.rb, line 11
def initialize(app, options = {})
@cache = options[:cache] || Rails.cache
options[:expire_after] ||= @cache.options[:expires_in]
super
end Создать новое хранилище. Хранилище кэша можно передать в :cache параметр. Если не указано, будет использоваться Rails.cache.
Вызов метода суперкласса ActionDispatch::Session::Compatibility.new
Публичные методы экземпляра
# File actionpack/lib/action_dispatch/middleware/session/cache_store.rb, line 37 def destroy_session(env, sid, options) @cache.delete(cache_key(sid)) generate_sid end
Удалить сессию из кэша.
# File actionpack/lib/action_dispatch/middleware/session/cache_store.rb, line 18
def get_session(env, sid)
unless sid and session = @cache.read(cache_key(sid))
sid, session = generate_sid, {}
end
[sid, session]
end Получить сессию из кэша.
# File actionpack/lib/action_dispatch/middleware/session/cache_store.rb, line 26
def set_session(env, sid, session, options)
key = cache_key(sid)
if session
@cache.write(key, session, :expires_in => options[:expire_after])
else
@cache.delete(key)
end
sid
end Установить сессию в кэше.
© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.