redis与memcache区别总结

2015年9月2日 14:04:19

总会被问到两者的区别, 在这里总结下:

redis 有内置的多种数据结构, list(可用于实现小型队列), hash, set, zset...; memcache 只是简单的键值存储

redis 有持久化机制, 还利用了虚拟内存, memcache是纯内存,挂了就没有了(缓存穿透)

redis 借鉴了libevent的部分功能,实现自己的事件机制, 安装时不依赖libevent

redis 借鉴了操作系统的虚拟内存机制, 只是每次加载硬盘数据可以自己控制(例如,redis读一个字节, 将连续的512字节读入内存; OS则是读取整个page页)

redis 是单线程, 没有锁机制, 但在执行命令时有事务(原子性)机制, memcache 则是通过cas(类似乐观锁)锁机制达到数据一致性的效果

redis 可以设置主从复制, memcache没有

redis 单进程只可以使用一个cpu核; memchache 可以使用多个核

redis 有过期机制

memcache 可以存放图像, 视频, 文件

memcache 限制键的字符长度以及值的大小

 

Finger PHP 框架

 

上一篇:javascript 把时间戳转为时间 ajax HTML拼装


下一篇:Java 9模块化特性及工具探讨