文档章节

关于Memcache与Redis

ZoaChou
 ZoaChou
发布于 2016/06/06 23:05
字数 538
阅读 113
收藏 7

本文尝试总结Memcache与Redis之间的相同点及不同点,以及关于两者的一些注意问题。

相同


  • 同为内存型数据库
  • 当数据写满后均以LRU机制替换数据
  • 分布式支持

不同


Memcache

  • 多线程
  • 最大key为512B,最大value为1M

Redis

  • 单线程
Redis是单线程所以整体性能不如Memcache,但是平均到每个核上Redis在存储小数据时比Memcached性能更高。由于单线程多I/O串行限制,Redis在存储更大的数据(大于100k)时性能逊于Memcache。
  • 最大key为512M,最大value为512M
  • 持久化
  • 更丰富的数据类型
  1. Hashes
  2. Sorted Sets
  3. Lists
  4. Sets
  • Lua脚本支持
可在Redis中执行Lua脚本,例如用Lua实现原子锁。  
  • 关于Redis的delete
Redis的delete操作会有毫秒级的延迟,因为Redis的数据回收机制并非实时触发而是定时检查所需回收的数据是否达到某个筏值,达到才会触发数据回收。
  • 关于Redis执行顺序
根据 这里( http://www.redis.cn/topics/clients.html )文档翻译:“该顺序是由客户端 socket 文件描述符的数字大小及核心报告客户端事件的顺序决定的,因此顺序可以看成不确定的。”,顺序在大体上会呈“先到先作的原则”,但小处上呈现的应该是无序性。
  • 关于Redis最大连接
如果考虑“ TCP 的 TIME WAIT ”问题,在 MBP 上测试的结果是 17000 左右的请求数就会出现“ Can't assign requested address ”的错误。但这个其实是受限于操作系统最大文件描述符,在程序上可使用长链接或单例模式优化。在系统上可通过修改最大文件描述符或减少TCP TIMEWAIT的回收时间。

[暂时想到这些,想到继续补充]

源地址 By佐柱

转载请注明出处,也欢迎偶尔逛逛我的小站,谢谢 :)

© 著作权归作者所有

ZoaChou
粉丝 9
博文 10
码字总数 26936
作品 2
厦门
程序员
私信 提问
php安装memcache、redis扩展模块

关于编译安装php的选项可以为 ./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-iconv --with-openssl --enable-mbstrin......

wangfeng7399
2015/01/08
0
0
hechuan/jad-cache

jad-cache 此项目是对是Spring3中缓存模块的扩展,除了沿用原来的Spring缓存注解之外,还增加了对MemCache、EhCache、redis的实现,并且提供了一些新新的功能,本项目具有以下特点: 1.提供统...

hechuan
2017/03/24
0
0
关于mongodb ,redis,memcache之间见不乱理还乱的关系和作用

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

niceguy_php
2014/06/18
121
2
Ehcache Memcache Redis 三大缓存男高音

Ehcache 在java项目广泛的使用。它是一个开源的、设计于提高在数据从RDBMS中取出来的高花费、高延迟采取的一种缓存方案。正因为Ehcache具有健壮性 (基于java开发)、被认证(具有apache 2....

大糊涂
2015/06/05
181
1
ehcache memcache redis 三大缓存男高音(转)

最近项目组有用到这三个缓存,去各自的官方看了下,觉得还真的各有千秋!今天特意归纳下各个缓存的优缺点,仅供参考! Ehcache 在java项目广泛的使用。它是一个开源的、设计于提高在数据从RDB...

jccpp
2013/08/26
647
2

没有更多内容

加载失败,请刷新页面

加载更多

java发送html模板的高逼格邮件

最近做了一个监测k8s服务pod水平伸缩发送邮件的功能(当pod的cpu/内存达到指定阈值后会水平扩展出多个pod、或者指定时间内pod数应扩展到指定数量),一开始写了个格式很low的邮件,像下面这样...

码农实战
22分钟前
7
0
php-fpm配置文件详解/MariaDB密码重置、慢查询日志

来源:https://blog.csdn.net/Powerful_Fy php-fpm主配置文件路径:/usr/local/php-fpm/etc/php-fpm.conf #位于安装php安装目录下的etc/目录中,该文件中最后一行将配置文件指向:include=/...

asnfuy
27分钟前
7
0
川普给埃尔多安和内堪尼亚胡的信

任性 https://twitter.com/netanyahu/status/1186647558401253377 https://edition.cnn.com/2019/10/16/politics/trump-erdogan-letter/index.htm...

Iridium
48分钟前
12
0
golang-mysql-原生

db.go package mainimport ("database/sql""time"_ "github.com/go-sql-driver/mysql")var (db *sql.DBdsn = "root:123456@tcp(127.0.0.1:3306)/test?charset=u......

李琼涛
今天
5
0
编程作业20191021092341

1编写一个程序,把用分钟表示的时间转换成用小时和分钟表示的时 间。使用#define或const创建一个表示60的符号常量或const变量。通过while 循环让用户重复输入值,直到用户输入小于或等于0的值...

1李嘉焘1
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部