文档章节

redis使用-1-与memcache对比

QCompute
 QCompute
发布于 2016/07/10 15:48
字数 583
阅读 14
收藏 0
点赞 0
评论 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的区别,大多数都会得到以下观点: 1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。 2 Redis支持数据的备份,即master-...

蓝狐乐队
2014/05/22
0
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
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
redis和memcache的区别

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

山鹰sniper
2014/07/16
0
0
Redis,Memcache,mongoDB的区别

从以下几个维度,对redis、memcache、mongoDB 做了对比,欢迎拍砖 1、性能 都比较高,性能对我们来说应该都不是瓶颈 总体来讲,TPS方面redis和memcache差不多,要大于mongodb 2、操作的便利性...

Surjur
2014/12/02
0
0
关于mongodb ,redis,memcache之间见不乱理还乱的关系和作用

先说我自己用的情况: 最先用的memcache ,用于键值对关系的服务器端缓存,用于存储一些常用的不是很大,但需要快速反应的数据 然后,在另一个地方,要用到redis,然后就去研究了下redis. 一看...

niceguy_php
2014/06/18
0
2
同为分布式缓存,为何 Redis 更胜一筹?

如今,市面上的缓存解决方案已经逐步成熟了,今天我将选取其中一些代表性的方案包括Redis、Memcached和Tair进行对比,帮助大家 在生产实践中更好地进行技术选型。 一、常用的分布式缓存的对比...

Java大蜗牛
前天
0
0
蚂蚁技术专家:同为分布式缓存,为何 Redis 更胜一筹?

如今,市面上的缓存解决方案已经逐步成熟了,今天我将选取其中一些代表性的方案包括Redis、Memcached和Tair进行对比,帮助大家 在生产实践中更好地进行技术选型。 一、常用的分布式缓存的对比...

Java大蜗牛
07/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
2
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
1
0
Java工具类—随机数

Java中常用的生成随机数有Math.random()方法及java.util.Random类.但他们生成的随机数都是伪随机的. Math.radom()方法 在jdk1.8的Math类中可以看到,Math.random()方法实际上就是调用Random类...

PrivateO2
今天
3
0
关于java内存模型、并发编程的好文

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在...

DannyCoder
昨天
1
0
dubbo @Reference retries 重试次数 一个坑

在代码一中设置 成retries=0,也就是调用超时不用重试,结果DEBUG的时候总是重试,不是0吗,0就不用重试啊。为什么还是调用了多次呢? 结果在网上看到 这篇文章才明白 https://www.cnblogs....

奋斗的小牛
昨天
2
0
数据结构与算法3

要抓紧喽~~~~~~~放羊的孩纸回来喽 LowArray类和LowArrayApp类 程序将一个普通的Java数组封装在LowArray类中。类中的数组隐藏了起来,它是私有的,所以只有类自己的方法才能访问他。 LowArray...

沉迷于编程的小菜菜
昨天
1
0
spring boot应用测试框架介绍

一、spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit、spring test、assertj、hamcrest、mockito、jsonassert、jsonpath),但是在数...

yangjianzhou
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部