класс ActionDispatch::Session::CacheStore
Хранилище сессий, использующее ActiveSupport::Cache::Store для хранения сессий. Это хранилище наиболее полезно, если вы не храните критически важные данные в сессиях и вам не нужно, чтобы они хранились в течение длительного времени.
Параметры
-
cache- Кэш для использования. Если не указан, используетсяRails.cache. -
expire_after- Длительность хранения сессии до автоматического истечения срока действия. По умолчанию используется параметр:expires_inкэша.
Публичные методы класса
# File actionpack/lib/action_dispatch/middleware/session/cache_store.rb, line 14
def initialize(app, options = {})
@cache = options[:cache] || Rails.cache
options[:expire_after] ||= @cache.options[:expires_in]
super
end Вызывает метод суперкласса ActionDispatch::Session::Compatibility.new
Публичные методы экземпляра
# File actionpack/lib/action_dispatch/middleware/session/cache_store.rb, line 40 def delete_session(env, sid, options) @cache.delete(cache_key(sid)) generate_sid end
Удалить сессию из кэша.
# File actionpack/lib/action_dispatch/middleware/session/cache_store.rb, line 21
def find_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 29
def write_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.