Redis的数据结构,这些结构的使用场景
-
String
- 简单的kv存储
-
hash
- 存储对象,一个key有多个值
-
list
- 列表型数据、消息队列等
-
set
- 无序集合、去重,交集、并集等,比如查看共同好友,在社交关系方面、数据排重等可以使用
-
sroted set
- 有序集合,去重,做榜单
Redis处理请求快的原因
-
redis是单线程,为什么这么快?
- 基于内存,绝大部分请求是纯粹的内存操作,CPU不是Redis的瓶颈
- 避免了不必要的CPU上下文切换和其他竞争条件,比如锁操作等
- 底层是使用多路I/O复用模型,非阻塞IO
- Redis6 后支持多线程,但是默认不开启
Redis的持久化方式
-
redis有哪些持久化方式,以及他们的区别
-
支持AOF和RDB持久化
-
AOF
- 以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录
- 支持秒级持久化、兼容性好,对于相同数量的数据集而言,AOF文件通常要大于RDB文件,所以恢复比RDB慢
-
RDB
- 在指定的时间间隔内将内存中的数据集快照写入磁盘,可以指定时间归档数据,但不能做到实时持久化
- 文件紧凑,体积小,对于灾难恢复而言,RDB是非常不错的选择,相比于AOF机制,如果数据集很大,RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快
-