Rails cache_key 如何去掉域名那一段?

fengzhilian818 · April 10, 2017 · Last by fengzhilian818 replied at April 14, 2017 · 1439 hits

现在实现将接口缓存放在 redis,key 为 space:views/localhost:3000/controller/method/x.json,现在需求是将 localhost:3000 去掉,求各位前辈给个解决方案呗

处理字符串吗?这样 "space:views/localhost:3000/controller/method/x.json".gsub("/localhost:3000","") ?

你的问题就不对,问题应该是:ActionView 的 cache_key 如何去掉域名那一段?

Reply to huacnlee

对的,就是这个意思

http://api.rubyonrails.org/classes/ActionView/Helpers/CacheHelper.html#method-i-cache

我记得是没有那一段域名信息在 cache_key 里面的啊

哦,看起来你用的是 action_caching

https://github.com/rails/actionpack-action_caching

问题是解决了,就是感觉有待优化,:cache_path => Proc.new { |c| c.request.url.gsub(c.request.host+':'+c.request.port.to_s,'')}
去掉 ip 是为了实现多服务器 redis 缓存同步之后能够共用

这种方式现在都没啥人用了

请教大神,多服务器实现缓存同步共用的架构思路是怎样的

You need to Sign in before reply, if you don't have an account, please Sign up first.