Redis概叙
Redis是一个K-V数据库,是一个非常流行且常用的中间件。一般在项目中我们经常将其作为缓存服务使用,提高整个系统的访问性能。
Redis相比与其他的缓存系统有以下优势:
- 支持数据的持久化,将数据保存在磁盘中,重启后可恢复数据
- 支持很多的数据类型,提高了数据存储后访问的速度
- 支持主从、集群模式,能够备份、处理更多的数据
下面是Redis中几个主要的知识点
这篇文章主要来看一下Redis相关的特性
Redis应用场景
- 共享缓存
使用redis来存储session相关的登录信息
- 排行榜
基于Zset实现排行榜功能
- 关系网
基于set实现共同好友功能
- 队列
使用list可实现队列的简单功能
- 分布式锁
使用setnx可实现分布式锁的功能
Redis为什么这么快?
一提到Redis大家可能就说Redis处理速度很快。单机上读可以到10w QPS,写可以到8w QPS。那么redis为什么这么快呢?
- Redis基于内存操作
首先redis处理数据都是基于内存操作的,不需要访问磁盘IO(持久化操作会访问)。
- Redis处理数据是单线程
Redis中处理数据是单线程操作的。当有其他操作,如持久化时会开启另外的线程。单线程处理时就省下来多线程切换的时间。
- Redis中有很多高效的数据结构
Redis中有很多数据的存储结构,针对数据量的大小不同会使用不同的底层结构,如我们所熟知的跳表就很大的提升了数据查询性能
- 使用了epoll IO多路复用模型
当多个客户端连接Redis服务时,通过epoll模型可监听多个socket,并只返回响应的socket加快回复速度