redis笔记

2022-04-03  本文已影响0人  shoyu666

数据结构

image.png

SDS

image.png
struct sdshdr {
    int len;
    int free,
    char buf[];
};

字典

image.png
typedef struct dict{
    dictType *type,
    void *privata,
    dictht ht[2];
    int treahshidx;
} dict;
index确定
sizeMask = size-1
index = hash & ht.sizeMask
渐进式rehash

为了缓解一次性rehash带来的性能问题,redis提供渐进式reshash.
过程:【‘怕【

RDB

RDB即Redis DB,RDB文件保存了Redis 的一次内存快照。
Save命令提供阻塞式的RDB文件生成。
BGSave命令提供非阻塞式的RDB文件生成(通过子进程操作)。
支持配置保存条件的自动保存。如 服务器在n秒内对数据库进行了m次修改则执行保存。

AOF

AOF即 Append only file,AOF文件通过追加的方式记录对Redis数据库产生修改的Reids命令。
AOF文件内容是RESP 协议的纯文本格式。

缓存过期

惰性删除策略

对键进行操作时检查

定期删除策略

周期性的从字典中随机检查一部分键,删除过期的键

淘汰策略

redis eviction

主从复制

SLAVEOF ip port //从{ip}节点复制(或理解为成为{ip}节点的从节点)
full resynchronization 完整同步
partial resynchronization 部分重同步

分布式锁

Redisson
分布式锁中的王者方案 - Redisson

上一篇下一篇

猜你喜欢

热点阅读