现在实现将接口缓存放在 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 如何去掉域名那一段?
对的,就是这个意思
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 缓存同步之后能够共用
这种方式现在都没啥人用了
请教大神,多服务器实现缓存同步共用的架构思路是怎样的