![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
文章平均质量分 82
艾尔文大叔
14年IT农民工,解决过不少疑难杂症,也制造过"惊星动魄"的生产事故,当了11年小弟,带过3年兵,
陪运维兄弟通宵看过月亮,也跟客户推杯换盏一醉方休过,
北上广杭加上大武汉,10年多风雨兼程,志在四方,
熬了肝,长了肉,秃了头,长了皱,
结识了一帮IT界的天兵神将,一起灭了许多个"八阿哥",团灭过小学生的王者水晶塔,
曾经最愚蠢的投资是把血汗钱投给了股市,自己却要继续敲996的键盘
展开
-
Redis的高级数据类型与运用场景
如果这样的页面很多,那所需要的存储空间是惊人的。georadius和georadiusbymember两个命令的作用是一样的,都是以一个地理位置为中心算出指定半径内的其他地理信息位置,不同的是georadius命令的中心位置给出了具体的经纬度,georadiusbymember只需给出成员即可。地图元素的位置数据使用二维的经纬度表示,经度范围(-180, 180],纬度范围(-90,90],纬度正负以赤道为界,北正南负,经度正负以本初子午线(英国格林尼治天文台) 为界,东正西负。原创 2024-05-20 22:11:10 · 743 阅读 · 0 评论 -
Redis的内存淘汰机制&布隆过滤器流程
定期删除,redis默认每个100ms检查,是否有过期的key,有过期key则删除。例如:一个推荐系统有1亿个用户id,每个小时算法工程师会根据每个用户之前历史行为计算出推荐数据放到存储层中,但是最新的用户由于没有历史行为,就会发生缓存穿透的行为,为此可以将所有推荐数据的用户做成布隆过滤器。3.volatile-lru: 尝试回收最少使用的键(LRU),但仅限于在过期集合的键,使得新添加的数据有空间存放。5.volatile-random: 回收随机的键使得新添加的数据有空间存放,但仅限于在过期集合的键。原创 2024-04-24 21:58:57 · 169 阅读 · 1 评论 -
Redis的设计和实现
Redis 为各种文件事件需求编写了多个处理器,若客户端连接Redis,对连接服务器的各个客户端进行应答,就需要将socket映射到连接应答处理器写数据到Redis,接收客户端传来的命令请求,就需要映射到命令请求处理器从Redis读数据,向客户端返回命令的执行结果,就需要映射到命令回复处理器当主服务器和从服务器进行复制操作时, 主从服务器都需要映射到特别为复制功能编写的复制处理器。假如你的过期 key,靠定期删除没有被删除掉,还停留在内存里,除非你的系统去查一下那个 key,才会被redis给删除掉。原创 2024-04-23 21:41:11 · 914 阅读 · 0 评论 -
Redis持久化方式以及他们的区别?
如图,假设先在 T0 时刻做了一次快照(下一次快照是T4时刻),然后在T1时刻,数据块 5 和 8 被修改了,要是在T2时刻,机器宕了,那么只能按照 T0 时刻的快照进行恢复。很明显,配置为always时,每次写入都要同步AOF文件,在一般的SATA 硬盘上,Redis只能支持大约几百TPS写入,显然跟Redis高性能特性背道而驰,不建议配置。第一方面:频繁将全量数据写入磁盘,会给磁盘带来很大压力,多个快照竞争有限的磁盘带宽,前一个快照还没有做完,后一个又开始做了,容易造成恶性循环。原创 2024-04-20 21:33:24 · 1092 阅读 · 0 评论