memcached和redis对比

  memcached redis
持久化 不支持 支持
分布式 支持
支持主从

涉及复杂操作,可能需要分布式锁来支持

线程 多线程
单线程避免了不必要的上下文切换和竞争条件

线程封闭的观念,把任务封闭在一个线程,自然避免了线程安全问题

,不过对于需要依赖多个redis操作的复合操作来说,依然需要锁,

而且有可能是分布式锁

key-value 支持 支持
复杂的数据类型 不支持 支持
存储方向 内存缓存 内存缓存
灾备
需要良好的灾备方案,否则泵机的话会造成

内存中的数据丢失,形成无法估计的损失


由于支持持久化的存储,只需配置master

就能形成良好的灾备方案

速度 纯内存操作(非一般的速度)
绝大部分请求是纯粹的内存操作(非常快速)

时间: 2024-10-11 10:40:13

memcached和redis对比的相关文章

Memcached和Redis对比和适用场景

关于memcached和redis的使用场景,根据大神们的讨论和我在网上查到的资料,总结一下: 两者对比: redis提供数据持久化功能,memcached无持久化: redis的数据结构比memcached要丰富,能完成场景以外的事情: memcached的单个key限制在250B,value限制在1MB:redis的K.V都为512MB;当然这些值可以在源码中修改: memcached数据回收基于LRU算法,Redis提供了多种回收策略(包含LRU),但是redis的回收策的过期逻辑不可依赖

redis、memcached、mongoDB 对比与安装

一.redis.memcached.mongoDB 对比 Memcached 和 Redis都是内存型数据库,数据保存在内存中,通过tcp直接存取,速度快,并发高.Mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据. Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态.数据库驱动网站的速度.Memcached 的分布式不是在服务器端实现的,而是在客户端应用中

Memcached、Redis OR Tair

一.前言 非关系型数据库(NoSQL = Not Only SQL)的产品非常多,常见的有Memcached.Redis.MongoDB等优秀开源项目,相关概念和资料网上也非常丰富,不再重复描述,本文主要引入Memcached和Redis与淘宝开源Tair分布式存储进行对比测试,由于各自适用场景不同,且每个产品的可配置参数繁多,涉及缓存策略.分布算法.序列化方式.数据压缩技术.通信方式.并发.超时等诸多方面因素,都会对测试结果产生影响,单纯的性能对比存在非常多的局限性和不合理性,所以不能作为任何

谈谈Memcached与Redis

1. Memcached简介 Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器.其本质上就是一个内存key-value数据库,但是不支持数据的持久化,服务器关闭之后数据全部丢失.Memcached使用C语言开发,在大多数像Linux.BSD和Solaris等POSIX系统上,只要安装了libevent即可使用.在Windows下,它也有一个可用的非官方版本(http://code.jellyc

key/value存储系统-Memcached、Redis、Tair

每个产品的可配置参数繁多,涉及缓存策略.分布算法.序列化方式.数据压缩技术.通信方式.并发.超时等诸多方面因素,都会对测试结果产生影响,单纯的性能对比存在非常多的局限性和不合理性,所以不能作为任何评估依据,仅供参考. 1.尽管 Memcached 和 Redis 都标识为Distribute,但从Server端本身而言它们并不提供分布式的解决方案,需要Client端实现一定的分布算法将数据存储到各个节点,从而实现分布式存储,两者都提供了Replication功能(Master-Slave)保障可

Memcached 及 Redis 架构分析和区别比较

Memcached和Redis作为两种Inmemory的key-value数据库,在设计和思想方面有着很多共通的地方,功能和应用方面在很多场合下(作为分布式缓存服务器使用等) 也很相似,在这里把两者放在一起做一下对比的介绍 基本架构和思想 首先简单介绍一下两者的架构和设计思路 Memcached Memcached采用客户端-服务器的架构,客户端和服务器端的通讯使用自定义的协议标准,只要满足协议格式要求,客户端Library可以用任何语言实现. 从用户的角度来说,服务器维护了一个键-值关系的数据

第三方缓存软件memcached和redis异同

memcached和redis相同点:都是以键值对的形式来存储数据,通俗讲就是一个大的hashtable缓存数据都是存在内容中 key-value 不同点:memcached:1.一个key所对应的值必须要通过客户端序列化成二进制流存储 byte[](缺点,由于序列化反序列化消耗CPU比较大)2.一个key所对应的值最大只能是1m3.传统的memcached是不支持内存数据的持久化操作,当服务器重启,数据会丢失4.可以配置读写分离5.多线程 redis: 1.一个key对应的值可以是 strin

memcached 和 redis 性能测试比对

网上很多关于memcached 和 redis 区别的介绍,大部分都是说redis比memcached支持的数据类型多的话题,而性能比对确很少,我专门针对两者进行了性能测试比对. 测试内容如下: 两者都添加5万个key-value,且value都为字符串,测试脚本为php,系统为双核处理器. 添加耗时: memcached :第一次耗时18秒,后面重复加载10次,平均耗时4.7秒.占用内存:47M   32 redis : 第一次耗时19秒,后面重复加载10次,平均用时 4.8秒. 占用内存:5

[转载]转Java 几个memcached 连接客户端对比 选择

原文地址:转Java 几个memcached 连接客户端对比 选择作者:闪出光芒 Xmemcached 1.2.6.1 released,所以更新了一下Java Memcached Client Benchmark.对比下Xmemached,Spymemcached和Java-Memcached-Client这三个开源客户端的性能,具体的测试信息可以看这个链接. 测试源码: Java代码 svn co http://xmemcached.googlecode.com/svn/trunk/benc