Redis知识点总结

基本数据类型

1、string,kv结构,功能:添加、查询、+1、-1、获取长度、是否存在。
2、list,双链表,功能:左/右添加、左/右删除、获取长度、范围查询。
3、hash,HashMap(Java),功能:添加、查询、是否存在、获取所有、获取所有keys、获取所有vals。
4、set,HashSet(Java),功能:添加、删除、查看所有、是否存在、查看个数、求交集并存储、求并集。
5、zset,TreeSet(Java),功能:添加、删除、查看个数、查看权重、范围查询和它的逆序集合。
6、bitmap,二进制string,功能:设置当前位、获取当前位、统计为1的个数、进行逻辑运算并将结果保存。

单线程模型

1、redis单线程使用IO多路复用技术保证效率。

持久化机制

RDB和AOF

RDB:以二进制 + 数据压缩方式存储,文件体积小。会有数据丢失的问题:在生成上一次快照和下一次快照的间隔中追加到redis的数据可能会丢失。
AOF:先将写入的数据实时加入到内存缓存中,再根据不同策略写入到磁盘。可以考虑appendfsync everysec,即每秒钟同步一次,显式地将多个写命令从内存缓存同步到硬盘。这样即使丢数据,也只会丢1秒的。

单机redis数据持久化方案

采用混合持久化方式,即RDB与AOF相结合的方式。
具体来说,当 AOF rewrite 时,Redis 先以 RDB 格式在 AOF 文件中写入一个数据快照,再把在这期间产生的每一个写命令,追加到 AOF 文件中。因为 RDB 是二进制压缩写入的,这样 AOF 文件体积就变得更小了。其中 AOF rewrite 是指 AOF 文件中只保留当前 key 的最新值。

集群哨兵方案

https://mp.weixin.qq.com/s/x1AobPWpMufNWqrBnc5sZg

posted @ 2021-02-05 11:32  一大碗小米粥  阅读(50)  评论(0编辑  收藏  举报