class CGI::Session::MemoryStore

内存会话存储类。

将会话存储实现为全局内存哈希。Session 数据仅在 Ruby 解释器实例运行时持续存在。

公共类方法

new(session, option=nil) 点击以切换源

创建一个新的 MemoryStore 实例。

session 是此实例关联的会话。option 是初始化选项列表。当前未识别任何选项。

# File cgi/session.rb, line 488
def initialize(session, option=nil)
  @session_id = session.session_id
  unless GLOBAL_HASH_TABLE.key?(@session_id)
    unless session.new_session
      raise CGI::Session::NoSession, "uninitialized session"
    end
    GLOBAL_HASH_TABLE[@session_id] = {}
  end
end

公共实例方法

close() 点击以切换源

关闭会话存储。

一个空操作。

# File cgi/session.rb, line 515
def close
  # don't need to close
end
delete() 点击以切换源

删除会话状态。

# File cgi/session.rb, line 520
def delete
  GLOBAL_HASH_TABLE.delete(@session_id)
end
restore() 点击以切换源

恢复会话状态。

以哈希形式返回会话数据。

# File cgi/session.rb, line 501
def restore
  GLOBAL_HASH_TABLE[@session_id]
end
update() 点击以切换源

更新会话状态。

一个空操作。

# File cgi/session.rb, line 508
def update
  # don't need to update; hash is shared
end