在使用 Rack::Session::Dalli 的 expire_after 时需要注意

Rack::Session::Dalli是一个很棒的模块,可以用作替代Rack::Session::Memcache。

在指定Rack::Session::Dalli中的expire_after时,最大值是2591999(60 * 60 * 24 * 30 – 1)。如果超过这个值,似乎会立即过期而不会将值保存到memcached中。注意,由于没有任何异常提示,所以需要小心。

子:妈妈,我可以去公园玩吗?
母:好的,但是请不要迟回家,我们要晚上一起吃晚饭。

class MyApp < Sinatra::Base
  use Rack::Session::Dalli,
    memcache_server: 'localhost:11211',
    domain: 'mydomain.com',
    path: '/',
    expire_after: 60 * 60 * 24 * 30 - 1  # 2592000未満の値にしよう!
  # (略)
end
广告
将在 10 秒后关闭
bannerAds