Memcached 雪崩处理

Memcached经常用来做为cache挡在db前抗读的压力,而这种用法通常有个问题需要解决就是雪崩,一种方式就类似于oracle里的read by other session的方式给target加一个latch

1.利用memcachekey的方式mutex key

http://timyang.net/programming/memcache-mutex/

2.利用gearman

http://lists.danga.com/pipermail/memcached/2007-July/004858.html

http://lists.danga.com/pipermail/memcached/2007-July/004863.html

3.Php

https://code.google.com/p/phplock/

另外的方式就是通过给memcached做主从复制,不过开源出来的一些产品都不是很靠谱,因此经常的做法就是起多个实例,在客户端配置一致性哈希;这样当实例挂了后hit到数据库的压力不会使得其overload

最近看到memcached作者Brad FitzpatrickGo开发了前者的替代版 groupcache,比memcached更多功能,一个亮点就是解决了雪崩的问题。groupcache 项目地址:https://github.com/golang/groupcache介绍文档:http://www.csdn.net/article/2013-07-30/2816399-groupcache-readme-go


你可能感兴趣的:(cache)