1. redis特性
速度快:读写性能达到10万/秒,为什么快?
- 数据存放在内存中,纯内存访问
- 用C语言实现,执行速度更快
- 单线程架构,避免多线程竞争
- 非阻塞I/O,利用I/O多路复用技术
基于键值对的数据结构服务器
- 基于键值对的数据结构,键为字符串,值可以为字符串、hash、列表、集合、有序集合、位图、地理信息定位
丰富的功能
- 键过期功能
- 发布订阅功能
- 支持lua脚本
- 简单的事务支持
- 流水线pipeline功能
简单稳定
客户端语音多:Java、php、Python、C、C++
支持持久化:支持快照和AOF2种持久化方案
主从复制:实现服务集群化
高可用和分布式:基于哨兵模式的故障转移和高可用的分布式实现
2. 使用场景
缓存系统:内存操作性能高,提供键值过期设置,提供内存分配和内存溢出的淘汰策略
排行榜系统:利用列表和有序集合,很方便的构建排行榜系统
计数器系统:天然支持计数功能且性能良好
分布式锁:单线程架构可实现多个客户端对共享数据的串行修改
消息队列系统:提供发布订阅和阻塞队列功能