redis概览

Redis学习路径 掌握数据结构 学会基本数据结构用法 string list hash set zset 思考对应的使用场景 特殊数据结构用法 HyperLogLog Bitmap GEO 思考对应的使用场景 使用场景 分布式锁 掌握支撑redis实现高可靠,高性能的技术 持久化机制 aof rdb aof和rdb的比较,以及如何实际应用 主从复制机制 同步 命令传播 主从复制搭建 哨兵机制 监控 决策 通知 切片集群(解决单台服务器数据量过多的方案) 什么是切片集群 数据如何分配到实例 客户端发送消息的机制 精通底层实现原理 事件机制 数据结构实现原理 高可靠,高性能的原理 哨兵集群:分布式系统选举和共识问题 切片集群:分布式系统问题

February 5, 2023 · 1 min

redis淘汰策略机制

redis 淘汰策略 分类角度:会进行淘汰的和不进行淘汰的 不会进行淘汰的 noeviction 会进行淘汰的 过期内淘汰的 volatile-random、volatile-ttl、volatile-lru、volatile-lfu 全部数据淘汰的 allkeys-lru、allkeys-random、allkeys-lfu ...

February 5, 2023 · 3 min

redis消息队列方案

redis 消息队列方案 观察角度:消息有序,重复消息处理,消息可靠性保证 pub/sub 发布订阅机制 list集合 消息有序:lpush和rpop可以保证消息顺序的被消费 重复消息处理:list没有为消息提供唯一标识,需要生产者提供唯一标识,消费程序自行判断消息是否重复 ...

February 5, 2023 · 3 min

缓存雪崩,缓存穿透和缓存击穿

数据不一致的原因 缓存或数据库只有一个操作失败 先删数据库数据 再删除缓存数据 先删除缓存数据 再删除数据库数据 多线程(先删缓存,再删数据库) 线程a先删除缓存数据,此时线程b查询数据库,并把旧数据放入缓存,a线程再插入数据库,之后的线程可能只会读到缓存上的旧数据 多线程(先删除数据库,再删除缓存)a线程删除完数据库旧数据到删除缓存这段时间,如果有读操作,那么会读到旧数据,等到a线程更新完缓存,缓存就为新的数据。 数据不一致的解决方案 重试机制 针对第三点 可以让a线程sleep 一小段时间 目的是为了 让像b线程这些查询操作 完成将旧数据放入缓存的操作,之后a线程再更新下缓存,sleep时间需要实测,比较难界定。 ...

February 5, 2023 · 3 min

redis集群机制

redis 集群 为了解决保存大量数据,有两种方案 纵向扩展(直接加大服务器的内存): 缺点:内存扩展会存在成本或硬件的限制 横向扩展(增加服务器的个数): 缺点:部署复杂,会产生新的集群问题 优点:节约成本,扩展容易 redis集群产生的问题? 客户端发送的数据如何分布? ...

November 5, 2022 · 2 min
总访问量 总访客数