一、速度快
- 10w OPS
- 数据存在内存中 (快的真正原因)
- 实现的语言为C语言,仅五万行代码
- 线程模型(单线程)
二、持久化
- 断电不丢数据(Redis所有数据保持在内存中,对数据的更新将异步地保存到磁盘中)
- 断电后数据需要恢复数据,有两种方式:
redis-check-aof(AOF文件修复工具)
redis-check-dump(RDB文件修复工具)
三、多种数据结构
- 字符串 (衍生了BitMaps:位图)
- 哈希
- 链表
- 集合
- 有序集合(衍生了GEO:地理信息定位)
四、支持多种编程语言
- Java
- Php
- Python
- Ruby
- Lua
- Node
五、功能丰富
- 发布订阅 (基于消息)
- Lua脚本 (自定义命令)
- 事务
- pipeline (客户端的并发效率)
六、简单
- 代码少
- 不依赖外部库
- 单线程模型
七、主从复制
- 主服务器
- 从服务器
八、高可用、分布式
- 高可用 Redis-Sentinel(哨兵模式)
- 分布式 Redis-Cluster (集群模式)