本系列笔记来自于黄健宏的《Redis从入门到精通》,后续博客不再说明。
Redis简介
内存存储,速度极快
redis vs memcached
redis和memcached都是键值对数据库,但是和memcached不同的是,redis的值不仅可以是字符串,它还可以是其他五种数据机构的任意一种。
键->值
值的种类
- 字符串
- 列表
- 散列
- 集合
- 有序集合
- HyperLogLog
附加功能
- 持久化:RDB和AOF,保障数据安全,方便数据备份和恢复
- 发布与订阅功能:用于构建广播系统
- 过期键:自动删除
- 事务功能:原子执行多个操作,提供乐观锁,保证处理数据时的安全性
- 脚本功能:服务器端执行多个操作,完成复杂功能,减少与客户端的通信次数
- 复制:安全
- Sentinel:监控Redis服务器状态,并在服务器发生故障时,进行自动故障转移。
- 集群:创建分布式数据库,每个服务器分别执行一部分写操作和读操作
应用
- Twitter:使用 Redis存储用户时间线
- StackOverflow:使用 Redis来进行缓存和消息分发
- Pinterest:使用 Redis来构建关注模型和兴趣图谱
- Flickr:使用 Redis来构建队列。
- Github:使用 Redis持久化,使用Resque实现消息队列
- 新浪微博:使用 Redis实现计数器、反向索引、排行榜、消息队列,并存储用户关系
- 知乎:使用 Redis来进行计数、缓存、消息分发和任务调度。