文章分类 - redis
摘要:字符串: hash类型: list类型: set类型: 有序集合:
阅读全文
摘要:问题描述: .2010年,facebook有了3000个memcache节点 .发现问题:“加”机器性能没能提升,反而下降 问题关键点: 。更多的机器!=更高的性能 。批量接口需求(mget,mset等) 。数据增长与水平扩展需求 优化I/0的几种方法: 1,命令本身优化:例如慢查询keys丶hgetall bigkey 2,减少网络...
阅读全文
摘要:缓存粒度控制-三个角度: 1,通用性:全量属性更好 2,占用空间:部分属性更好 3,代码维护:表面上全量属性更好
阅读全文
摘要:◆伸缩原理:
阅读全文
摘要:Rredis cluster特性 复制 高可用 分片
阅读全文
摘要:集合特点:1,无序的。2,无重复的。3,集合间的操作。
阅读全文
摘要:@rpush key value1 value2...valueN #从列表右端插入值(1-N个),时间复杂度O(1~n) @lpush key value1 value2...valueN #从列表左端插入值(1-N个),时间复杂度O(1~n) @linsert key before|after value newValue #在list指定的值前|后插入newValue,时间复杂度O(n...
阅读全文
摘要:@hget key field #获取hash key 对应的field的value,时间复杂度为O1 @hset key field value #设置hash key 对应field的value,时间复杂度为O1 @hdel key field #删除hash key对应field的value,时间复杂度为O1 @hexists key field #判断hash key是否有fie...
阅读全文
摘要:@set key value #给key设置值 @get key #获取key值 @getset key newvalue #set key newvalue并返回旧的value,时间复杂度是O1 @append key value #将value追加到旧的value,时间复杂度是O1 @strlen key #返回字符串的长度(注意中文),时间复杂度是O1 @incrbyfloat...
阅读全文
摘要:@keys 就是计算redis所有键 @dbsize 计算数据库的大小 @exists key 判断key是否存在 @del key[key...] 删除key,可以同时删除多个key @expire key seconds 给key设置有效时间 @type key 查看key的类型 @ttl key 查看key剩余的过期时间 @persist key 去掉key的过期时间 ...
阅读全文
摘要:领导者的选举 。原因:只有一个sentinel节点完成故障转移 。选举:通过sentinel is-master-down-by-addr命令都希望成为领导者 1,每个做主观下线的Sentinel节点向其他Sentinel节点发送命令,要求将它设置为领导者. 2,收到命令的Sentinel节点如果没有同意通过其他Sentinel节点发送命令,那么将同意该请求,否则拒绝 3...
阅读全文
摘要:故障转移(sentinel领导者节点完成) 1,从slave节点中选出一个“合适的”节点作为新的master节点 2,对上面的slave节点执行slaveof no one 命令让其成为master节点. 3,向剩余的slave节点发出命令,让他们成为新master节点的slave节点,复制规则和parallel-syncs参数有关。 4,更新对原来master节点配置为slave,并保持...
阅读全文
摘要:常见开发问题 。节点运维 。高科可用的读写分离 节点下线: 。主节点 。从节点 。sentinel节点 节点下线的原因: 。机器下线:例如过保等情况 。机器性能不足:例如CPU丶内存丶硬盘丶网络等 。节点自身故障:例如服务不稳定等 sentinel failover 节点上线 。主节点 。sen...
阅读全文
摘要:sentinel monitor #客观下线的判断 之前我们的配置: sentinel monitor mymaster 127.0.0.1 6379 2 sentinel down-after-milliseconds #主观下线的判断 之前我们的配置: sentinel down-after-milliseconds mymaster 30000 主观下线:...
阅读全文
摘要:分布式数据库-数据分区 数据分区有两种: 1,顺序分区 2,哈希分区 哈希分布 。节点取余分区 1,实例图: 2,扩容问题: 3,注意事项: 。客户端分片:哈希+取余 。节点伸缩:数据节点关系变化,导致数据迁移 。迁移数据量和节点数据量有关->建议翻倍扩容 4,不建议使用这种分区方式,是真的不好 。
阅读全文
摘要:第一个定时 1,每10秒每个sentinel对master和slave执行info 。发现slave节点 。确认主从关系配图: 第二个定时2,每2秒每个sentinel通过master节点的channel交换信息(pub/sub)#channel是发布订阅的频道 。通过__sentinel__:hello频道交互 ...
阅读全文
摘要:sentinel 是为了发现redis故障且故障转移的原理 1,多个sentinel发现并确认master有问题。 2,选举出一个sentinel作为领导。 3,选出一个slave作为master。 4,通知其余slave成文新的master的slave 5,通知客户端主从变化 6,等待老的mast
阅读全文
摘要:_redis_ip = $ip; if($port != '') $this->_redis_port = $port; if($db != '') $this->_redis_db = $db; if($hash_prefix != '') $this->_hash_prefix = $hash_prefix; $this->_r...
阅读全文

浙公网安备 33010602011771号