redis和memcached比较
2015-11-12 15:07
686 查看
1、Memcached采用客户端-服务器的架构,服务器维护了一个键-值关系的数据表,服务器之间相互独立,互相之间不共享数据也不做任何通讯操作。客户端需要知道所有的服务器,并自行负责管理数据在各个服务器间的分配。
在服务器端,内部的数据存储,使用基于Slab的内存管理方式,有利于减少内存碎片和频繁分配销毁内存所带来的开销。各个Slab按需动态分配一个page的内存(和4Kpage的概念不同,这里默认page为1M),page内部按照不同slab class的尺寸再划分为内存chunk供服务器存储KV键值对使用
2、Redis内部的数据结构最终也会落实到key-Value对应的形式,不过从暴露给用户的数据结构来看,要比memcached丰富,除了标准的通常意义的键值对,Redis还支持List,Set, Hashes,Sorted Set等数据结构1)、redis具有持久化机制,可以定期将内存中的数据持久化到硬盘上。
2)、redis具备binlog功能,可以将所有操作写入日志,当redis出现故障,可依照binlog进行数据恢复。
3)、redis支持virtual memory,可以限定内存使用大小,当数据超过阈值,则通过类似LRU的算法把内存中的最不常用数据保存到硬盘的页面文件中。
Redis的主从同步机制可以确保redis的master和slave之间的数据同步。
在服务器端,内部的数据存储,使用基于Slab的内存管理方式,有利于减少内存碎片和频繁分配销毁内存所带来的开销。各个Slab按需动态分配一个page的内存(和4Kpage的概念不同,这里默认page为1M),page内部按照不同slab class的尺寸再划分为内存chunk供服务器存储KV键值对使用
2、Redis内部的数据结构最终也会落实到key-Value对应的形式,不过从暴露给用户的数据结构来看,要比memcached丰富,除了标准的通常意义的键值对,Redis还支持List,Set, Hashes,Sorted Set等数据结构1)、redis具有持久化机制,可以定期将内存中的数据持久化到硬盘上。
2)、redis具备binlog功能,可以将所有操作写入日志,当redis出现故障,可依照binlog进行数据恢复。
3)、redis支持virtual memory,可以限定内存使用大小,当数据超过阈值,则通过类似LRU的算法把内存中的最不常用数据保存到硬盘的页面文件中。
Redis的主从同步机制可以确保redis的master和slave之间的数据同步。
相关文章推荐
- memcached工作原理
- Memcached的配置和使用
- nginx+tomcat+memcached负载均衡集群搭建详细笔记(下)
- memcache保存session
- Redis使用总结之与Memcached异同
- simple-spring-memcached maven工程环境搭建
- gfirefly 学习之ubuntu 15 python 安装memcached, SecureCRT和Eclipse (3)
- memcache 分布式,算法实现
- Centos6.5下安装Memcached完整示例
- win下的Memcached配置使用
- linux 搭建memcached服务
- memcached安装及.NET中的Memcached.ClientLibrary使用详解
- memcached的安装与使用
- Spring集成memcached的详细介绍
- 谈谈Memcached与Redis
- Redis & memcache
- 分布式缓存-Memcached
- Redis与Memcached的比较.
- PHP 连接 Memcached 服务
- Memcached