如何强制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

回到顶部