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

fengzhilian818 · 2017年04月10日 · 最后由 fengzhilian818 回复于 2017年04月14日 · 1296 次阅读

现在实现将接口缓存放在 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 如何去掉域名那一段?

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 缓存同步之后能够共用

fengzhilian818 回复

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

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

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册