kv存储中间件
文章平均质量分 94
redis, etcd
你是什么品种的萝卜
人生何处不迷雾,东隅已逝,桑榆非晚
展开
-
【etcd】1.etcd架构与raft算法
etcd架构。原创 2024-03-24 18:50:21 · 955 阅读 · 0 评论 -
【etcd】2.mvcc与etcd watch
4. 读源码1. MVCCMVCC(Multi-Version Concurrency Control)多版本并发控制:一种机制,用于实现分布式系统中的并发控制。集群的版本号Revision:逻辑时间戳,全局单调递增,任何 key 的增删改都会使其自增key的版本号CreateRevision:创建 key 时集群的 Revision, 直到删除前都不变ModRevision:修改 key 时集群的 Revision, key 更新时会自增Version:初始为1,更新时自增。原创 2024-03-26 17:22:08 · 921 阅读 · 0 评论 -
【etcd】3.lease租约
在v2版本:没有lease概念,ttl属性携带在key上,etcd client为每个key/ttl创建一个http连接,定时发送请求给etcd server。当ttl短(续期频繁)、key多时,对性能有很大影响。v3版本:将ttl属性绑定在lease上,多个key可以复用一个lease,且将http优化为grpc连接,多路复用流式传输,一个连接可以为多个租约续期,减少了连接数。KeepAlive()——永久续期,客户端只需调用一次,并监听返回值channel,若被closed表示租约被中断。原创 2024-03-26 17:41:57 · 801 阅读 · 0 评论 -
【redis】redis原理
1、redis的主要思想(1)哈希桶redis用一个全局的哈希表保存所有的键值对,这张哈希表里有多个哈希桶,每个哈希桶中的entry保存了key和value指针,*key指向实际的键,*value指向实际的值。(2)查找过程先通过key计算哈希值,找到对应的哈希桶位置,然后定位到entry,在entry找到对应的数据。(3)哈希冲突不同的key经过哈希函数计算后映射到了同一个位置,落在同一个哈希桶中。解决方式:链式哈希,同一个哈希桶中,多个元素用一个链表来保存,它们之间依次用指针连接。原创 2024-03-24 18:21:30 · 730 阅读 · 0 评论