RedisModule剖析 - RedisTimer
RedisTimer 是一款基于 Redis 的时间事件来实现的计时器的模块,通过时间事件机制来实现延迟/循环执行对应的脚本(函数),由于该模块执行脚本(函数)的命令为 FCALL,因此要求Redis版本最低为7.0.0,该模块也支持数据的持久化,用于保证计时器的信息不丢失。 一、简介 GitHub 地址:https://github.com/tzongw/redis-timer 二、 ...

译 - Gorilla: A Fast, Scalable, In-Memory Time Series Database
《Gorilla: A Fast, Scalable, In-Memory Time Series Database》 这篇论文讲述了 Facebook 在存储时序数据模型时的一些实践,重点讲述了他们内部的一款内存型的时序数据库 Gorilla。论文中通过使用 Delta-Of-Delta 和 XOR 方式分别对时序数据的时间戳以及浮点数据进行压缩编码,极大的节省了时序数据的存储开销,这也成为 ...

RedisModule剖析 - RedisTimeSeries
RedisTimeSeries 是一款基于 RedisModule 实现的时序数据库模块,提供了基础的时序操作功能,包括不限于聚合查询,范围查询,保留周期,降采样(数据压缩),插值变更,二级索引等。由于数据存储于内存中,因此提供了高性能读写访问能力,但同时也受限于内存存储,可能并不适合用在极大数据量的时序场景中。考虑到身靠着Redis生态这棵大树,也许能够和Redis生态的众多组件碰撞出有趣的火花 ...

译 - Scalable Bloom Filters
《Scalable Bloom Filters》 这篇论文讲述了一种布隆过滤器的变体实现方式,通过将预设的误判率分配给多个子布隆过滤器来约束整体的一个误判率情况,并且可以通过新增子布隆过滤器来实现对存储元素数量的调节,以满足初始容量无法准确估计的情况,论文中详细介绍了在不同的误判率变化率以及布隆过滤器容量变化率的情况下,存储空间等的使用情况。目前了解到的,RedisBloom 和 TairBl ...

RedisModule剖析 - RedisBloom
RedisBloom 这个 Module 内集成了很多的小功能,其中主要包括:可扩展的布隆过滤器(BloomFilter),可扩展的布谷鸟过滤器(CuckooFilter),最小计数草图(Count-Min Sketch),近似百分位(T-Digest),头部K元素(TopK)等。 一、简介RedisBloom 是一款集成了众多功能的 RedisModule 模块,其主要包含了 BloomFilt ...

RedisModule剖析 - RedisIMS
RedisIMS 是一款支持了 If Modified Since(IMS) 模式的数据访问方案。If-Modified-Since 经常在 HTTP 访问过程被使用,通常是为了避免不断从服务器中拉取大量的重复的数据,以节省网络流量开销。将这种方式用作 Redis 中主要应该也是为了解决 大key 的问题,当前该模块仅支持 string 类型。 一、简介 GitHub 地址:https://git ...

RedisModule剖析 - RedLock
RedLock 是一款基于 RedisModule 实现的分布式锁模块,该模块提供了写/读锁的操作接口,相比于使用 Redis 的现有命令进行支持,这个模块的命令语义更明确,且有利于进行流量区分与筛选,在使用中能够很好的区分开其他流量与锁操作相关的流量。整体的模块实现比较简单,阅读相对比较容易。 一、简介 GitHub 地址:https://github.com/wujunwei/red ...

译 - In Search of an Understandable Consensus Algorithm (Extended Version)
《In Search of an Understandable Consensus Algorithm (Extended Version)》 直译过来就是 《寻找可理解的共识算法(扩展版)》,这篇文章中详细介绍了 Raft 算法的设计初衷以及其主要的设计实现,这是一篇学习共识算法的必读的一片论文。 摘要Raft is a consensus algorithm for managing ...

RedisModule剖析 - SmartCache
SmartCache 是一款基于 RedisModule 实现的数据缓存模块,目前仅支持与 MySQL 进行数据缓存交互。在客户端访问数据的时候,如果该数据不存在于 Redis 中,则 Redis 会向配置的 MySQL 发起数据请求,将数据缓存到本地,并设置一定的过期时间,之后将缓存的数据发送给客户端,从而实现了 Read-Through Cache 这种缓存模式。缓存的数据经过格式化处理(格式 ...

GitHub黑话/简写大全
使用 GitHub 的过程中经常会遇到一些英文的简写,这些简写能够很好的简略高效的表达自己的想法,并且随着广泛的使用已经得到了大家的共识,这里将会介绍一些常用的英文简写。 一、黑话/简写集 PR : 全称为 Pull Request ,合并请求; CR : 全称为 Code Review ,代码审查; LGTM : 全称为 Looks Good To Me ,我觉得没有问题; WIP : ...