
Redis开发与运维
文章平均质量分 75
《Redis开发与运维》书籍的阅读笔记,记录一些常用知识点。
Layne_lei
苦苦挣扎的码农
展开
-
《Redis开发与运维》笔记-集群部署
《Redis开发与运维》笔记-集群部署集群拓扑结构准备节点节点握手分配槽建立主从redis-trib.rb集群拓扑结构拓扑结构:Redis Cluster物理结构:角色ipport别名master-1127.0.0.16480master-1或者6380节点master-2127.0.0.16481master-2或者6381节点master-3127.0.0.16482master-3或者6382节点slave-1127.0.0.1原创 2021-04-01 14:14:51 · 475 阅读 · 1 评论 -
《Redis开发与运维》笔记-集群概念
《Redis开发与运维》笔记-集群概念数据分布数据分布理论Redis 数据分区集群功能限制节点通信通信流程Gossip消息节点选择故障转移故障发现故障恢复故障转移时间数据分布数据分布理论分布式数据首先要解决把整个数据集按照分区规则映射到多个节点的问题,即把数据集划分到多个节点上,每个节点负责整体数据的一个自己。重点关注的就是数据分区规则。常见的分区规则有哈希分区和顺序分区两种,Redis Cluster则采用的哈希分区规则。哈希分区规则有几种:节点取余分区使用特定的数据,如Redis的键或原创 2021-03-29 17:33:33 · 190 阅读 · 2 评论 -
《Redis开发与运维》笔记-哨兵安装与部署
《Redis开发与运维》笔记-哨兵安装与部署部署拓扑结构部署Redis数据节点部署Sentinel节点Java客户端连接验证测试部署拓扑结构Redis Sentinel物理结构:角色ipport别名master127.0.0.16380主节点或者6380节点slave-1127.0.0.16381slave-1或者6381节点slave-2127.0.0.16382slave-2或者6382节点sentinel-1127.0.0.126原创 2021-03-25 15:32:38 · 161 阅读 · 1 评论 -
《Redis开发与运维》笔记-哨兵理论
《Redis开发与运维》笔记-哨兵理论基本概念实现原理三个定时监控任务主观下线和客观下线领导者Sentinel节点选举故障转移基本概念Redis提供了主从复制功能,可以实现Redis多个节点数据存储。Redis的主从机制有个基本原则就是一主准则,不管拓扑结构是怎样,每个从节点都只能拥有一个主节点。问题在于一旦主节点出现故障,就会导致整个Redis系统出现问题,这样就需要去替换主节点,可能就需要人工去维护,这样就会引申出相关问题:判断节点不可达的机制是否健全和标准。如果有多个从节点,怎样保证只有一个原创 2021-03-25 14:18:33 · 190 阅读 · 2 评论 -
《Redis开发与运维》笔记-内存回收策略
《Redis开发与运维》笔记-内存回收策略概述删除过期键对象内存溢出控制策略概述Redis的内存回收机制主要体现在以下两个方面:删除到达过期时间的键对象。内存使用达到maxmemory上限时触发内存溢出控制策略。删除过期键对象Redis删除过期键对象有两种方式:惰性删除和定时任务删除。惰性删除惰性删除用于当客户端读取带有超时属性的键时,如果已经超过键设置的过期时间,会执行删除操作并返回空,这种策略是出于节省CPU成本考虑,不需要单独维护TTL链表来处理过期键的删除。但是如果过期键一直没原创 2021-03-23 16:29:36 · 146 阅读 · 0 评论 -
《Redis开发与运维》笔记-复制
《Redis开发与运维》笔记-复制配置建立复制断开复制安全性传输延迟原理复制过程数据同步全量复制部分复制配置建立复制建立复制有三种方式:在配置文件中加入配置,跟随Redis启动生效slaveof <masterip> <masterport>在redis-server启动命令后加入 “–slaveof masterip masterport”。redis-server --slaveof 127.0.0.1 6379在客户端直接使用命令,slaveof原创 2021-03-23 11:42:12 · 145 阅读 · 0 评论 -
《Redis开发与运维》笔记-持久化
《Redis开发与运维》笔记-持久化简述RDB触发机制流程说明RDB的优缺点AOF触发机制流程说明设计理念简述Redis支持两种方式进行数据持久化存储,即RDB和AOF。持久化功能可以有效的避免数据丢失,可以在重启的时候,通过持久化的文件进行数据的恢复。RDBRDB持久化是把当前进程数据生成快照保存到硬盘的过程。触发机制RDB有两种触发机制,分别是手动触发和自动触发。手动触发:分别对应为save和bgsave命令。save命令:会阻塞当前Redis服务器,直到RDB过程完成为止,对于内存比原创 2021-03-22 14:43:03 · 98 阅读 · 0 评论 -
《Redis开发与运维》笔记-发布与订阅
《Redis开发与运维》笔记-发布与订阅简述命令简述Redis提供了基于“发布/订阅”模式的消息机制。消息发布者与订阅者不直接通信,发布者客户端向指定的频道(channel)发布消息,订阅该频道的每个客户端都可以接收到信息。命令发布消息publish channel message//示例//向 channel:layne 通道发布一条 “hello world” 消息publish channel:layne "hello world"订阅消息subscribe cha原创 2021-03-19 15:37:22 · 100 阅读 · 0 评论 -
《Redis开发与运维》笔记-Bitmaps与Hyperloglog
《Redis开发与运维》笔记-Bitmaps与HyperloglogBitmaps数据结构模型命令设置值获取值获取Bitmaps指定范围值为1的个数计算Bitmaps中第一个值为targetBit的偏移量Bitmaps的运算HyperloglogBitmaps数据结构模型Bitmaps本身不是一种数据结构,实际上就是字符串,但是它可以对字符串的位进行操作。Bitmaps单独提供了一套命令,所以在Redis中操作Bitmaps和操作字符串类型的方法不太一样。可以把Bitmaps想象成一个以位为单位的数原创 2021-03-19 14:53:04 · 122 阅读 · 0 评论 -
《Redis开发与运维》笔记-事务与Lua
Redis开发与运维笔记-事务与Lua事务事务错误处理机制命令错误运行时错误LuaLua语言数据类型Redis与Lua在Redis中使用LuaLua使用Redis APIRedis管理Lua脚本事务Redis提供了简单的事务功能,将一组需要一起执行的命名放到multi和exec两个命名之间。multi代表事务开始,exec代表事务结束,他们之间的命令都是原子顺序执行的。停止事务可以使用discard命令执行。事务错误处理机制命令错误一般是操作命令语法错误,比如将set命令写错成sat,这种错误会造原创 2021-03-19 11:11:53 · 108 阅读 · 0 评论