Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 正在检查Rails.cache对象的ttl_Ruby On Rails_Caching_Time_Ttl - Fatal编程技术网

Ruby on rails 正在检查Rails.cache对象的ttl

Ruby on rails 正在检查Rails.cache对象的ttl,ruby-on-rails,caching,time,ttl,Ruby On Rails,Caching,Time,Ttl,因此,我在Rails.cache中存储了一些项目,并且我总是使用:expires\u in=>5.5分钟来编写它们 我的问题是,有没有办法查看缓存项上的ttl是什么 我知道activesupport中的entry类有一个方法,但我似乎无法从Rails.cache方法中获取entry对象 顺便说一下,我正在实现速率限制。您可以使用下面的命令检查Rails缓存中的ttl Rails.cache.data.ttl("yourkey") 如果您的Rails.cache是一个文件存储,并且没有.data

因此,我在Rails.cache中存储了一些项目,并且我总是使用:expires\u in=>5.5分钟来编写它们

我的问题是,有没有办法查看缓存项上的ttl是什么

我知道activesupport中的entry类有一个方法,但我似乎无法从Rails.cache方法中获取entry对象


顺便说一下,我正在实现速率限制。

您可以使用下面的命令检查Rails缓存中的ttl

Rails.cache.data.ttl("yourkey")

如果您的
Rails.cache
是一个文件存储,并且没有
.data
可查询,则需要引用包含相关项的文件:

fpath=Rails.cache.send:key\u file\u路径,“yourkey”
cache\u entry=Marshal.load File.read fpath
expiration=Time.at cache\u entry.expirs\u at

不要相信我的话,但我认为没有办法
expires\u in
是存储在memcached内部且无法取出的参数。是的,我怀疑无法获取该参数,尤其是在使用rails内存时它不可用,我想我会问一下,以防有人发现它