Redis


# Redis

本系列以 Redis 7.0 作为安装版本进行知识点梳理,以 6.0 版本为分界线,前后相差还是挺大的。

Redis 是 C 语言开发的一个开源高性能键值对的内存数据库,可以用来做数据库、缓存、消息中间件等场景,是一种 NoSQL(not-only sql,非关系型数据库)的数据库。


Redis 里程碑

Redis 2.62012年10月支持lua脚本Redis 3.02015年4月官方集群方案Redis 4.02017年7月混合持久化、多线程异步删除Redis 5.02018年10月核心代码重构Redis 6.02020年5月多线程IO

(Redis 里程碑版本迭代时间轴和重大改进)

Redis 经历了很多版本,不过目前推荐用 6.0 及以上的版本。


Redis 特点

  • 优秀的性能,数据是存储在内存中,读写速度非常快,可支持并发 10W QPS。
    • QPS(Queries Per Second):每秒查询率。
  • 单线程但进程,是线程安全的,采用 IO 多路复用制。
  • 可作为分布式锁。
  • 支持五种数据类型。
  • 支持数据持久化到磁盘。
  • 可以作为消息中间件使用,支持消息发布及订阅。

10W QPS 这个测试结果未经考验,是网上查的,但理论上是能达到上万的。


Redis 应用场景

  • 为热点数据加速查询(主要场景)。如热点商品,热点新闻等高访问信息。
  • 任务队列,如秒杀,抢购。
  • 即时信息查询,例如排行榜、在线人数等。
  • 时效性信息控制,如验证码。
  • 消息队列
  • 分布式锁