Redis 知识
2016-04-25 10:33
281 查看
Redis与Memcached的区别
Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据的备份,即master-slave模式的数据备份。
Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
在Redis中,并不是所有的数据都一直存储在内存中的。这是和Memcached相比一个最大的区别。Redis只会缓存所有的 key的信息,如果Redis发现内存的使用量超过了某一个阀值,将触发swap的操作,Redis根据“swappability = age*log(size_in_memory)”计 算出哪些key对应的value需要swap到磁盘。然后再将这些key对应的value持久化到磁盘中,同时在内存中清除。这种特性使得Redis可以 保持超过其机器本身内存大小的数据。当然,机器本身的内存必须要能够保持所有的key,毕竟这些数据是不会进行swap操作的。同时由于Redis将内存 中的数据swap到磁盘中的时候,提供服务的主线程和进行swap操作的子线程会共享这部分内存,所以如果更新需要swap的数据,Redis将阻塞这个 操作,直到子线程完成swap操作后才可以进行修改。
参考
相关文章推荐
- Redis-stat的安装与使用
- Redis键时间老化的测试
- 【.Net】文件并发(日志处理)--队列--Redis+Log4Net
- windows下的redis 2.x 配置
- redis性能问题排查
- 关于Redis info的参数总结
- redis的基本类型及操作命令
- Linux下php安装Redis扩展
- Redis安装部署配置说明
- PHP Startup redis: Unable to initialize module
- Redis数据类型
- Redis配置
- redis 集群
- redis 数据持久化 详细说明
- Redis源码分析——链表
- redis 数据持久化
- Redis源码分析——SDS
- Redis源码解析(1)
- Redis之1-基本目录
- Redis集群实战