标签:
本文以高性能nginx服务器为应用背景,想利用缓存技术来减轻系统负荷,加快响应时间,从而增加web服务器的吞吐量。
redis是一种分布式内存数据库,memcached是一种内存缓存技术,它们都采用key-value方式来存取数据。不同的是redis具有硬盘备份技术,重启不丢失数据,而memcached是纯内存,重启会丢失数据。
采用思路是:
当nginx入口模块拿到数据请求,过滤内容无关字段,提取关键字段,做md5压缩。然后去查找缓存,看是否命中,没命中的话处理请求,返回数据后保存至缓存。如果命中的话则直接返回就可。每个请求都设置10分钟过期失效时间。
试验结果是:
100K以下,memcached明显占优势。大约快20%~30%。数据包越小,优势越明显。
100K-300K,两者旗鼓相当。
300K以上,redis略占优势。
但由于memcached所占有的最大页面是固定的。所以当超出这个最大页面的时候,就不能胜任了。
此外,redis对于失效数据需要有额外的逻辑去处理。
标签:
原文地址:http://www.cnblogs.com/tianciliangen/p/4948964.html