文档章节

redis使用-1-与memcache对比

QCompute
 QCompute
发布于 2016/07/10 15:48
字数 583
阅读 16
收藏 0

前言 
    在学习redis之前,公司我所在的部门一直都用memcache作为缓存,90%的系统是用作缓存,性能还算稳定,效率也不错,但是对一些特殊的应用场景还是有很多的问题,经过一番研究后开始使用redis.
使用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更适合我们高并发实时数据显示的需求。

© 著作权归作者所有

QCompute
粉丝 1
博文 4
码字总数 1597
作品 0
北京
后端工程师
私信 提问
Redis 和 memcached 区别

REDIS与MEMCACHED的区别(转) 如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点: 1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。 2 Re...

5431039
2016/04/16
0
0
Redis与Memcached比较

如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点: 1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。 2 Redis支持数据的备份,即master-...

阿莱倪士
2014/02/22
278
0
Redis与Memcached的区别

如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点: 1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。 2 Redis支持数据的备份,即master-...

brivio
2014/02/08
185
0
Redis与Memcached简要比较

如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点: 1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。 2 Redis支持数据的备份,即master-...

蓝狐乐队
2014/05/22
205
0
构建Redis知识图谱,看完这篇就够了!

我看到你的简历上说你熟练使用Redis,那么你讲一下Redis是干吗用的? Memcache和Redis都是优秀的、高性能的内存数据库,一般我们说到Redis的时候,都会拿Memcache来和Redis做对比。(为什么要...

宜信技术学院
05/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用TensorFlow的AI程序运行报错AttributeError: module 'tensorflow' has no attribute 'xxx'

使用TensorFlow的AI程序,在运行时报错AttributeError: module 'tensorflow' has no attribute 'xxx',首先检查是否是包路径不对,一般是版本变化所致。...

织梦之魂
54分钟前
3
0
提示浏览器版本低

本文转载于:专业的前端网站➭提示浏览器版本低 网站网页在遇到浏览器低版本(尤其是IE浏览器)时,提示浏览器版本低(如IE8以及以下),建议用户升级浏览器以获得最好体验。以下是代码: 1...

前端老手
55分钟前
6
0
CentOS 7系统增加swap

转载请注明文章出处:CentOS 7系统增加swap swap是位于磁盘上的特殊文件(或分区),属于“虚拟内存”的一部分。通俗点就是内存的备胎,内存充足的情况下,基本上没swap什么事(和设置有关)...

tlanyan
今天
6
0
基于Prometheus和Grafana的监控平台 - 环境搭建

相关概念 微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics。 Logging - 用于记录离散的事件。例如,应用程序的调试信息或错误信息。它是我们诊断问题的依据。比如我们说...

JAVA日知录
今天
6
0
PHP运行时全局构造体

struct _php_core_globals { zend_bool magic_quotes_gpc; // 是否对输入的GET/POST/Cookie数据使用自动字符串转义。 zend_bool magic_quotes_runtime; //是否对运行时从外部资源产生的数据使...

冻结not
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部