共享cache+数据库实现缓存一致性:
1.1 memcache + mongo+定时器
1.1.1 memcache
优点:web集群共享数据
缺点:数据生命周期的不可预估性
1.1.2 mongo
优点:持久化数据
缺点:读的性能太与cache相差甚远(数据量高于数据库大小时)
1.1.3 定时器
优点:可以确保memcache数据的生命周期
缺点:浪费web服务器和数据库资源
1.2 实现要求: web集群时钟必须同步
1.3 cache的数据结构
update_lock 更新锁,确保上一次更新操作未完成(可能数据数据查询延时)前不会执行下一次更新
问题:锁没被释放可能导致更新操作永远不能被执行,直到锁释放;
解决: 去掉update_lock,为数据查询设置超时
timestmp 时间戳,确保定时器周期内只被更新最多一次
key-value,... 数据