02 2021 档案

摘要:PUBSUB学习 基础知识 在Redis中可以使用LIST来实现简单的消息队列功能,但基于LIST实现的消息队列无法实现"消息多播"的功能。 Redis单独实现PubSub模块来实现"消息多播"功能,并支持模式订阅 常用命令 PUBSUB:用于检查消息订阅的状态信息。 PUBLIST:将消息传递给特 阅读全文
posted @ 2021-02-28 21:04 TeyGao 阅读(119) 评论(0) 推荐(0) 编辑
摘要:简易版HyperLogLog 实现逻辑: 采用简单调和平均数来计算,去除首尾10%的数据后进行估算。 Python代码: import math import random import uuid import hashlib from bisect import bisect_right HLL_ 阅读全文
posted @ 2021-02-24 23:51 TeyGao 阅读(55) 评论(0) 推荐(0) 编辑
摘要:基础结构和常量 struct hllhdr { char magic[4]; /* "HYLL" */ uint8_t encoding; /* HLL_DENSE or HLL_SPARSE. */ uint8_t notused[3]; /* Reserved for future use, m 阅读全文
posted @ 2021-02-24 23:11 TeyGao 阅读(105) 评论(0) 推荐(0) 编辑
摘要:Lazy Free特性 惰性删除或延迟释放(Lazy Free),指在删除KEY时,采用异步方式延迟释放EKY所使用的内存,将该操作交给单独的子线程BIO(backgroup I/O)进行处理,避免在同步方式删除KEY对Redis主线程的长期占用而影响系统可用性。 在删除超大KEY如单个EKY占用内 阅读全文
posted @ 2021-02-24 23:07 TeyGao 阅读(1814) 评论(0) 推荐(0) 编辑
摘要:Redis Stream ID 基础知识 在Redis Stream数据结构中,Stream ID用来表示流中的特定条目,在XADD时可以指定StreamID,也可以使用参数*来让Redis自动生成一个唯一的StreamID。 自动生成StreamID有两个64位的整数组成,如15269190304 阅读全文
posted @ 2021-02-18 22:31 TeyGao 阅读(617) 评论(0) 推荐(0) 编辑