文档章节

redis使用-1-与memcache对比

QCompute
 QCompute
发布于 2016/07/10 15:48
字数 583
阅读 14
收藏 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
0
0
Redis与Memcached的区别

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

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

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

蓝狐乐队
2014/05/22
0
0
Memcache和Redis区别

memcache官方定义 Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications ......

RJKD
2014/04/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring源码学习笔记-1-Resource

打算补下基础,学习下Spring源码,参考书籍是《Spring源码深度解析》,使用版本是Spring 3.2.x,本来想试图用脑图记录的,发现代码部分不好贴,还是作罢,这里只大略记录下想法,不写太细了 ...

zypy333
今天
10
0
RestClientUtil和ConfigRestClientUtil区别说明

RestClientUtil directly executes the DSL defined in the code. ConfigRestClientUtil gets the DSL defined in the configuration file by the DSL name and executes it. RestClientUtil......

bboss
今天
17
0

中国龙-扬科
昨天
2
0
Linux系统设置全局的默认网络代理

更改全局配置文件/etc/profile all_proxy="all_proxy=socks://rahowviahva.ml:80/"ftp_proxy="ftp_proxy=http://rahowviahva.ml:80/"http_proxy="http_proxy=http://rahowviahva.ml:80/"......

临江仙卜算子
昨天
10
0
java框架学习日志-6(bean作用域和自动装配)

本章补充bean的作用域和自动装配 bean作用域 之前提到可以用scope来设置单例模式 <bean id="type" class="cn.dota2.tpye.Type" scope="singleton"></bean> 除此之外还有几种用法 singleton:......

白话
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部