随笔分类 - redis学习
摘要:引用以下内容: redis实现分布式锁: Redis分布式锁-这一篇全了解(Redission实现分布式锁完美方案) Redis实现分布式锁的7种方案,及正确使用姿势! redis实现消息队列 Redis 的学习教程(十)之使用 Redis 实现消息队列 缓存一致性问题 想要保证数据库和 Redis
阅读全文
摘要:缓存的收益和成本分析 收益:1)加速读写 2)降低后端负载 成本:1)数据不一致性 2)代码维护成本 3)运维成本 使用场景:1)开销大的复杂计算 2)加速请求响应 缓存更新策略的选择和使用场景 LRU/LFU/FIFO算法剔除:当缓存使用量大于预设的最大值时候,对现有数据进行剔除,一致性最差,维护
阅读全文
摘要:数据部分 redis cluster采用哈希分区规则,具体为虚拟槽分区,使用分散度好的哈希函数分到一个大范围的整数,每个节点负责一定数量的槽。slot=CRC16(key)&16383 特点:解耦数据和节点之间的关系;节点自身维护槽的映射关系,不需要客户端和代理服务维护槽分区元数据;支持节点、槽、键
阅读全文
摘要:概念 主从复制问题 1、高可用 主节点不可用,需要人工干预进行故障转移,即使自动化了还存在许多问题。 2、redis sentinel 自动完成故障发现和转移,并通知应用方,实现高可用。 存在多个哨兵和数据节点,每个哨兵节点对数据节点和其他哨兵节点进行监控,当节点不可达时,多个哨兵对其进行分析,如果
阅读全文
摘要:redis内存消耗 内存使用统计 关注used_memory_rss(操作系统)和used_memory_rss(存储数据内存占用量)和其比值。 当比值>1,内存碎片 <1,存在swap,redis性能下降 内存消耗划分 rss = 自身内存+对象内存+缓冲内存+内存碎片 3kb = 800kb +
阅读全文
摘要:redis阻塞问题 发现阻塞 生产环境需要异常监控,在连接函数捕获异常,打印ip和port,使用监控系统监控多个关键指标,如命令耗时、慢查询、持久化阻塞、拒绝连接、CPU内存网络磁盘使用过载等。 内在原因 redis数据结构使用不合理 通过slow log 获取慢查询,改成低复杂度算法或将大对象拆分
阅读全文