内存数据库:memcached与redis技术的对比试验

本文以高性能nginx服务器为应用背景,想利用缓存技术来减轻系统负荷,加快响应时间,从而增加web服务器的吞吐量。

redis是一种分布式内存数据库,memcached是一种内存缓存技术,它们都采用key-value方式来存取数据。不同的是redis具有硬盘备份技术,重启不丢失数据,而memcached是纯内存,重启会丢失数据。

采用思路是:

当nginx入口模块拿到数据请求,过滤内容无关字段,提取关键字段,做md5压缩。然后去查找缓存,看是否命中,没命中的话处理请求,返回数据后保存至缓存。如果命中的话则直接返回就可。每个请求都设置10分钟过期失效时间。

试验结果是:

100K以下,memcached明显占优势。大约快20%~30%。数据包越小,优势越明显。

100K-300K,两者旗鼓相当。

300K以上,redis略占优势。

但由于memcached所占有的最大页面是固定的。所以当超出这个最大页面的时候,就不能胜任了。

此外,redis对于失效数据需要有额外的逻辑去处理。

时间: 2024-12-14 18:58:11

内存数据库:memcached与redis技术的对比试验的相关文章

Memcached和Redis对比和适用场景

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

缓存技术PK:选择Memcached还是Redis?

缓存技术PK:选择Memcached还是Redis? memcached完全剖析----------------->高质量文章

Redis与Memcached的incr/decr差异对比

目前广泛使用的分布式缓存Redis和Memcached均支持对整数型Value值的增减,对应到具体命令中就是incr和decr命令. incr/decr是原子性操作(memcached 1.2.4及以后版本加入/redis),其被广泛应用于计数器和限速器. 分布式缓存Redis和Memcached在这两个命令的具体语法上的不同 Redis的incr命令语法分两种: 1)incr key,即将指定主键key的value值加一: 2)incrby key increment,即将指定主键key的va

Redis和Memcache对比及选择

Redis和Memcache对比及选择 http://www.cnblogs.com/EE-NovRain/p/3268476.html 在选择内存数据库的时候到底什么时候选择redis,什么时候选择memcache,然后就查到下面对应的资料,是来自redis作者的说法(stackoverflow上面). You should not care too much about performances. Redis is faster per core with small values, but

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 VS Redis 问题:memcached 与 redis 哪个好? 答:这个问题它依赖与工程类别和它的数据. 1.它们都是内存 key/value 类型的高速与高可用的查询表. 2.它们都是集群. 3.它们都是为大项目提供内存对象而不需要去访问数据仓库. 4.访问它们,要比访问数据仓库有更快的速度. 从原理上讲: 它们的部署环境与规模架构不一样. memcached: memcached 是扁平数组 由一个hash值共享(我理解是一个hashid 决定一个扁平数组数据) r