memcached与redis
Memcached VS Redis
问题:memcached 与 redis 哪个好?
答:这个问题它依赖与工程类别和它的数据。
1.它们都是内存 key/value 类型的高速与高可用的查询表。
2.它们都是集群。
3.它们都是为大项目提供内存对象而不需要去访问数据仓库。
4.访问它们,要比访问数据仓库有更快的速度。
从原理上讲:
它们的部署环境与规模架构不一样。
memcached:
memcached 是扁平数组 由一个hash值共享(我理解是一个hashid 决定一个扁平数组数据)
redis:
redis 是 cluster-slave 架构,
下面有张图,可以反映出它们的原理与架构:
创造一个技术与架构设计是非常难的,尤其是很重要的缓存结构。
下面几个部分是一些它们的有点与缺点:
memcached 优点:
1.不复杂
2.配置简单
3.宏观命令很少,单个主机。
4.在集群中,使用单主机,使用hash值去查找key。(易于理解,结构简单)
5.像摇滚音乐一样工作(翻译的无语,) , 原句: Runs like a rock -- memcached requires a nuclear strike to fall over
6.很多年的老产品,
7。很多开发语言都有memcached库
memcached缺点:
1.只有内存缓存功能,别的什么功能都没有
2.不能通过 AWS zons 共享缓存。
3.不能满足一个主机系统的所有缓存需求
4.添加一个集群成员需要从新配置和重启客户端。
redis优点:
1.可以用多种方式存放缓存,比如list,array,sets,sorted sets
2.可以同时操作多个流水线命令行
3.阻塞读取。
4.可以批量插入缓存数据。
5.可以通过多个slave redis实例划分缓存。
6.可以把数据推到硬盘里。
redis缺点:
1.配置复杂。
2.守护进程,当从变主后,它会自动失去备原功能,这在不稳定的redis分支上是持久性的。
3.主从架构意味着如果主进程出现故障,守护进程将不能工作,导致系统不能正常工作。
4.需要很多系统管理员去监控redis,去分配,去均衡。
memcached与redis的更多相关文章
- Memcached vs Redis
Memcached和Redis哪一个能有更好的表现? Redis可以看作是Memcached的超集,这让Redis不仅仅可以用来当缓存,也可以作为实际的数据存储. 强大的数据结构以及操作命令. 默认持 ...
- 谈谈Memcached与Redis
1. Memcached简介 Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器.其本质上就是一个 ...
- Memcached和Redis对比和适用场景
关于memcached和redis的使用场景,根据大神们的讨论和我在网上查到的资料,总结一下: 两者对比: redis提供数据持久化功能,memcached无持久化: redis的数据结构比memca ...
- Memcached、Redis OR Tair
一.前言 非关系型数据库(NoSQL = Not Only SQL)的产品非常多,常见的有Memcached.Redis.MongoDB等优秀开源项目,相关概念和资料网上也非常丰富,不再重复描述,本文 ...
- Memcached 及 Redis 架构分析和比较
Memcached和Redis作为两种Inmemory的key-value数据库,在设计和思想方面有着很多共通的地方,功能和应用方面在很多场合下(作为分布式缓存服务器使用等) 也很相似,在这里把两者放 ...
- Memcached、Redis和MongoDB的区别
Memcached和Redis都是内存数据库. Memcached是多线程运行的: Redis单线程是单线程运行的: MongoDB是文档型的非关系型数据库..Net:RavenDB.
- memcached与redis 对比
一. 综述 读一个软件的源码,首先要弄懂软件是用作干什么的,那memcached和redis是干啥的?众所周知,数据一般会放在数据库中,但是查询数据会相对比较慢,特别是用户很多时,频繁的查询,需要耗费 ...
- Memcached和Redis异同
在考虑对应用程序的性能表现进行提升时,缓存机制往往是解决问题的重要起点,而Memcached与Redis则经常被作为初步方案来加以比较.这两套声名显赫的缓存引擎拥有着诸多相似之处,但它们同样也具备大量 ...
- Memcached和Redis简介
前言: 目前比较流行的缓存技术无疑是Memcached和Redis,两套缓存技术有着诸多的相似之处,但又具备大量的显著差异,作为新生的方案,Redis被视为首选,但是有些场景Memcached发挥的作 ...
随机推荐
- 《think in python》学习-3
函数 函数是指用于进行某种计算的一系列语句的有名称的组合. type(32) 就是一个函数调用的例子 类型转换函数 python提供了一些可将某个值从一种类型转换为另外一个类型的内置函数 int(32 ...
- bootstrap的导航改造
在使用bootstrap制作后台时用到了响应式导航条,其中dropdown组件更是用的比较多,用的多需要点击的就多,dropdown默认鼠标左键单击才展开,如果使用鼠标放上去(hover)就展开则会省 ...
- iOS多态 动态绑定
多态和动态绑定是为了解决父类调用子类的问题 首先,声明三个类aa bb cc 都继承于fist类 #import <Foundation/Foundation.h> @interface ...
- C#:判断一个String是否为数字
方案一:Try...Catch(执行效率不高)private bool IsNumberic(string oText){ try { ...
- 教你如何利用初级C#语言更改银行存款!!!!
您是否对生活现状不满意? 您是否总是感叹工资太少? 您是否经常发现自己相中的物品又降价了然而自己却还是只能望洋兴叹? 没关系!让我来拯救你的钱包! 接下来进入正题: 要想更改自己的银行存款首先得找到一 ...
- 动态改变ComboBox下拉框的宽度
在C++Builder中有时下拉框的内容比较长,标准长度下根本显示不完,可以调用PostMessage()方法来实现 ::PostMessage(comb->Handle,CB_SETDROPP ...
- juce中的引用计数
这个类提供了最基本的引用计数管理,界面库中,经常都需要消息发送,而带来的后果就是不知道消息中包含的对象是否还存在,如果不能很好管理的话就容易出现访问销毁了的对象这样的情况,所以,juce的界面无素也基 ...
- http keepalive and tcpkeepalive
http keepalive 减少tcp 连接 (三次握手的消耗) tcp keepalive 检测死链接的 session 在tcp连接中, src_ip + src_port + dest_ip ...
- 在git彻底删除commit记录的方法是什么?
在github上,如果非默认分支的话,直接用以下方法: git reset --hard <commit_id> git push origin HEAD --force 如是默认分支,需 ...
- Storm csdn
blog.csdn.net/lonelytrooperblog.csdn.net/leytton http://my.oschina.net/apdplat/blog/308396