Memcache实践总结【转】
2. 如果添加操作成功了,你就拥有了锁:从缓存获取键 A 的数据;利用客户端程序更改数据;更新缓存键 A 的数据;删除键 "lock:A" 。如果你不需要立即再次更新,就让它存活直到失效。
3. 如果添加操作失败,说明有人获取了锁。这时让应用做些合适的事,比如返回老数据,等待后重试,或是其他的。
以上这些操作类似 MySQL 将 GET_LOCK 的 timeout 值设置成 0 。没有办法在 memcached 中通过互斥锁模拟 GET_LOCK() 的 timeout 操作。
35、预热你的缓存
如果你有一个很高访问率的站点,并且你正想加入故障恢复功能或是其他全新的功能,你最终可能会碰到空缓存的问题。一开始缓存是空的,然后一大群人点击你的站点,在填充缓存的过
程中,你的数据库可能会承受不住压力。为了解决这一问题,你可以试试任何可行的方法来 " 温暖 " 你的Memcached。方法:可以写一些脚本来缓存通用的页面;也可以写一个命令行工
具来填充缓存。你可以在高峰时刻在缓存里填充一些内容。