mCY*_*mCY 5 caching ruby-on-rails
我想用Rails.cache(memory_store)维护用户在线/离线列表.
基本上,如果请求/user/heartbeat?name=John到达Rails服务器,它将简单地:
def update_status
name = params.require(:name)
Rails.cache.write(name, Time.now.utc.iso8601, expires_in: 6.seconds)
end
Run Code Online (Sandbox Code Playgroud)
但是我如何才能获得存储在Rails.cache中的所有数据,如下所示?
def get_status
# wrong codes, as Rails.cache.read doesn't have :all option.
ary = Rails.cache.read(:all)
# deal with array ...
end
Run Code Online (Sandbox Code Playgroud)
我google了一段时间,似乎Rails.cache没有提供直接获取所有数据的方法.或者有更好的方法来存储数据?
我正在使用Rails 5.0.2.
谢谢你的时间!
duy*_*tpt 12
您可以使用代码获取所有密钥:
keys = Rails.cache.instance_variable_get(:@data).keys
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2303 次 |
| 最近记录: |