首页 > 其他 > 详细

缓存同步问题

时间:2017-03-27 11:11:58      阅读:226      评论:0      收藏:0      [点我收藏+]
当你有多台服务器的时候需要用memcache做数据缓存,讲面临一个如果缓存的数据发生变化更新缓存的问题。
缓存的的存储,是前台项目应用,而变更数据是在后台,这是两个独立的项目,当你的缓存存储的是对象,那么在后台变更数据的时候是无法delete掉缓存的数据的,在delete的时候会去查找这个对象在后台项目中是没有这个对象的定义的,所以是无法清理掉的。
  
对于对象无法清理掉,所以可以选择把对象序列化成字符串(例如Json),这样就可以在后台,直接清理了。
对于那些是对象的缓存,可以把这个对象存储在一个内存里(静态的变量),然后在memcache中设置一个字符串的表示,当字符串的标识,发生变化的时候,就读取数据库,更新内存中的数据。如果这样做,又会带来一个新的问题如果判断memcache中的标识发生了变化呢,我目前用的一个方法是在内存中在定义一个静态变量,用在存储memcache中的标识,每次在对比对比这两个值来判断是否发生变化,而memcache中的标识是用时间戳表示。

这样每次清理缓存只需要清理memcache中的时间戳表示就可以了。





缓存同步问题

原文:http://www.cnblogs.com/xinxinzhihuo/p/6625238.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!