Come On Baby,Oh

Redis点面总结-非现实可行性方案

一. Redis持久化方式
1. RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘;
实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储;
2. AOF持久化以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录;以文本的方式记录,可以打开文件看到详细的操作记录。
3. AOF更高的数据安全性,RDB性能更好;
https://www.cnblogs.com/chenliangcl/p/7240350.html
二. Redis基本数据结构
1. 字符串对象
2. 列表对象:
1. ziplist是一种压缩链表,它的好处是更能节省内存空间,因为它所存储的内容都是在连续的内存区域当中的;
2. linkedlist是一种双向链表。它的结构比较简单,节点中存放pre和next两个指针,还有节点相关的信息。当每增加一个node的时候,就需要重新malloc(内存分配)一块内存。
3. 哈希对象:
1. hashtable的是由dict(字典)这个结构来实现的;
2. dict是一个字典,其中的指针dicht ht[2] 指向了两个哈希表;
3. dicht[0] 是用于真正存放数据,dicht[1]一般在哈希表元素过多进行rehash的时候用于中转数据;
4. 集合对象:
1.intset是一个有序集合;
5. 有序集合对象:
1. ziplist作为集合和作为哈希对象是一样的,member和score顺序存放。按照score从小到大顺序排列;
2. skiplist是一种跳跃表,它实现了有序集合中的快速查找,在大多数情况下它的速度都可以和平衡树差不多。但它的实现比较简单,可以作为平衡树的替代品;
3. 跳跃表(zset):
1.在set的基础上延申:key score value;
2.分数score:并默认从小到大排序;
3.在跳跃表中,节点是按分数从小到大排序的。各个节点保存的成员对象必须是唯一的,但不同节点的分数可以相同,分数相同的节点按照成员对象在字典序中的大小来排序。https://www.jianshu.com/p/c8a2d6a29785

https://blog.csdn.net/caishenfans/article/details/44784131

三. Redis集群方案策略
1. 主从复制
2. 哨兵模式
3. 集群模式

https://blog.csdn.net/qq_28410283/article/details/89197156
https://www.cnblogs.com/wzb0228/p/10456666.html
https://www.jianshu.com/p/c2abf726acc7

四. Redis内存淘汰策略
1. volatile-lru:从设置过期时间的数据集(server.db[i].expires)中挑选出最近最少使用的数据淘汰;
2. volatile-ttl:除了淘汰机制采用LRU,策略基本上与volatile-lru相似,从设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰,ttl值越大越优先被淘汰;
3. volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰;
4. allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰,该策略要淘汰的key面向的是全体key集合,而非过期的key集合;
5. allkeys-random:从数据集(server.db[i].dict)中选择任意数据淘汰;
6. no-enviction:禁止驱逐数据,也就是当内存不足以容纳新入数据时,新写入操作就会报错,请求可以继续进行,线上任务也不能持续进行,采用no-enviction策略可以保证数据不被丢失,这也是系统默认的一种淘汰策略;
http://stor.51cto.com/art/201904/594773.htm
五. Redis的过期策略
1. 定时过期:清除设置了过期时间并且到期的数据;
2. 惰性过期:当访问一个key时,才会判断该key是否已过期,过期则清除;
3. 定期过期:每隔一定的时间,会扫描一定数量的数据库的expires字典中一定数量的key,并清除其中已过期的key;
https://www.jianshu.com/p/8aa619933ebb

六. Redis分布式锁的实现原理
1. https://www.cnblogs.com/williamjie/p/11250679.html

 

posted on 2021-04-20 11:43  West-Cowboy-TY  阅读(66)  评论(0编辑  收藏  举报

导航

Come On Baby,En