如何强制Rails缓存不能逃脱?
我正在使用rails(Dalli)向我的memcached中写入字符串,然后使用node.js(node-memcached)读取值,并且Rails正在使用这些额外的前置内容写入memcache。我也使用命令行检查了memcache。如何强制Rails缓存不能逃脱?
与轨道写作:
Rails.cache.write("test", 'helloworld')
从node.js的阅读:
// output I"helloworld:ET
回答:
发生了什么事是达利是值写入缓存之前调用Marshal.dump('helloworld')
。为避免这种情况,您需要直接与Dalli交互,而不是通过Rails.cache
,然后您可以通过:raw => true
选项使Dalli存储您传递给它的确切值。
像这样的东西应该这样做:
dcache = Dalli::Client.new dcache.set("test", 'helloworld', 0, :raw => true)
的第三个参数(0
)是TTL(生存时间)值。 0
表示该值永不过期。要从缓存中过期,您可以设置一个非零值,即以秒为单位测量的时间。所以要在5分钟后到期,您可以通过300
。
以上是 如何强制Rails缓存不能逃脱? 的全部内容, 来源链接: utcz.com/qa/258962.html