1、Redis 特性
1、速度快
- Redis 的所有数据都是放在内存中的。
 - Redis 是 C 语言实现的。
 - Redis 使用单线程架构,避免多线程环境上下文切换。
 
2、基于键值对的数据结构服务器
Redis 主要提供五种基本数据结构:string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合),还提供 Bitmaps(位图)、HyperLogLog(基数统计算法)、GEO(地理位置)高级数据结构。
3、丰富的功能
- 提供了键过期功能,可以用来实现缓存。
 - 提供了发布订阅功能,可以用来实现消息系统。
 - 支持 
Lua脚本功能,可以利用Lua创造新的 Redis 命令。 - 提供了简单事务功能。
 - 提供了 
Pipeline(流水线)功能。 
4、简单稳定
早期的 Redis 源码只有两万行,3.0 版本后添加了集群特性,代码增到 5 万行左右,Redis 自己实现了事件处理功能。
5、客户端语言多
Redis 提供了简单的 TCP 通信协议,主流的编程语言都有其客户端实现。
6、持久化
Redis 提供了 AOF 、 RDB 两种持久化方式。
7、主从复制、高可用和分布式
Redis Sentinel 、Redis Cluster
2、Redis 使用场景
Redis 可以做什么
- 缓存。( Redis 提供了键过期时间设置)
 - 排行榜系统。( Redis 提供了列表 
list和有序集合set数据结构) - 计数器应用。( Redis 提供了计数功能 
incr、decr) - 社交网络。(赞/踩、粉丝、共同好友/喜好)
 - 消息队列。( Redis 提供了列表 
list的rpush,blpop命令 ) 
Redis 不可以做什么
- Redis 基于内存,不能做存储。
 - 避免用 Redis 来缓存冷数据。