如何分析redis使用以及memcache对比,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
使用memcache中遇到的问题
1、针对一些实时数据,直接写到memcache里当做数据库用,内存分配的足够大,槽的设置也调整过几次,但是总会莫名其妙有的机器evictions>0,对于这部分的程序的memcache是不允许这样的情况发生的,几经查找无果,这种情况N天后在集群中的某台机器就会偶然出现一次。
2、运维调整网络设置及防火墙,或者某些memcache机器由于老旧频繁down机,导致缓存重新分布,缓存失效,大量请求压到数据库,到时系统响应缓慢,甚至down机
3、memcache对于同时取多个key的场景以及复杂类型的支持很有问题,导致存取多个key效率低下,典型的场景就是读取列表中的点击数。。
reids的好处
这些好处可能不一定对你的项目适用,还是要根据自己项目来合理确认使用哪个工具。基本针对我们的痛点,redis的优点如下:
1、数据持久化,redis数据可以持久化到磁盘,有人说memcache有memcachedb,这个我也研究过,但是总觉得没有原生支持好,针对我们的项目来说,redis对于实时高效的数据只要内存够,不会被清除出缓存。
2、redis支持主从模式,每个机器相当于一个全副本。主挂了通过Sentinel模式或者3.0的集群模式完全可以自动无缝切换
3、对于同时存储多个键值对提供了mset、mget等高效操作,经测试效率很高。并且支持复杂的诸如list、map及set对象。
在考虑上redis前,我们还考虑了诸如mongodb、Berkeley DB等数据库,最后经过对比发现redis更适合我们高并发实时数据显示的需求。
关于如何分析redis使用以及memcache对比问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。