![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 90
王富贵_yy
这个作者很懒,什么都没留下…
展开
-
redis 集群简述
一.数据分布1.常见的分区规则有:哈希分区:离散度好,数据分布和业务无关,无法顺序访问 顺序分区:离散度易倾斜,数据分布和业务相关,可顺序访问2.哈希分区的规则有:节点取余: 缺点:当节点数量变化时,如扩容或收缩节点,数据节点的映射关系需要重新计算,会导致数据重新迁移 扩容时通常采用翻倍扩容,这样只需迁移50%数据 一致性hash分区 缺点:增加或减少节点时影响相邻...原创 2020-04-30 17:15:02 · 984 阅读 · 0 评论 -
Redis 主从复制的原理—这一篇就够了
主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。主从模型还支持树状模型,使得从节点不但可以复制主节点,同时可以为作其他从节点的继续向下层复制一...原创 2019-08-23 14:24:42 · 1038 阅读 · 1 评论 -
Redis 内存淘汰策略
Redis默认无限使用服务器内存,为防止极端情况下导致系统内存耗尽,建议所有的Redis进程都要配置maxmemory。Redis的内存回收机制主要体现在以下两个方面:删除键(主动或者删除到达过期时间的键) 内存使用达到maxmemory上限时触发内存溢出控制策略。一、删除过期键对象Redis所有的键都可以设置过期属性,内部保存在过期字典中。由于进程内保存大量的键,维护每个键精准的...原创 2019-07-26 13:12:31 · 476 阅读 · 0 评论 -
Redis 持久化,超详细吐血总结(7)
我们熟知redis是内存数据库,它将自己的数据存储在内存里面,如果如图redis进程退出或突然宕机,数据就会全部丢失,因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是 Redis 的持久化机制。Redis 的持久化机制有三种,第一种是快照(RDB),第二种是 AOF 日志,第三种是混合持久化。快照是一次全量备份,AOF 日志是连续的增量备份。快照是内存数据的二进制序...原创 2019-07-10 11:06:34 · 7879 阅读 · 4 评论 -
Redis ziplist(压缩列表)(6)
目录:1.什么是ziplist2.散列表和ziplist3.有序集合和ziplistRedis 为了节约内存空间使用,zset 和 hash 容器对象在元素个数较少的时候,采用压缩列表 (ziplist) 进行存储。什么是ziplist?ziplist是一块连续的内存空间,元素之间紧挨着存储,没有任何冗余空隙。它的设计目标就是为了提高存储效率。ziplist可以用于存储字符...原创 2019-07-03 17:27:26 · 3976 阅读 · 0 评论 -
redis 有序集合内部实现(5)
本篇是redis系列的第四篇。本文主要围绕redis 有序集合 结构展开讨论Redis中的sorted set,是在skiplist, dict和ziplist基础上构建起来的:当数据较少时,sorted set是由一个ziplist(另起一篇文章单独介绍)来实现的。 当数据多的时候,sorted set是由一个叫zset的数据结构来实现的,这个zset包含一个dict + 一个skip...原创 2019-06-28 10:33:46 · 663 阅读 · 0 评论 -
Redis 集合(set)实现(4)
set基本介绍Redis里的set结构类似于java里的HashSet,实现上基本相同,它包含的元素无序,且不能重复,Redis里的set结构还实现了基础的集合并、交、差的操作。hashSet底层是hashMap现的,value存的是一个object对象。redis set底层实现为了节省内存随着元素类型是否是整型以及添加的元素的数目多少,而有所变化。概括来讲,当set中添加的元素都是整型且元...原创 2019-07-02 17:54:23 · 1756 阅读 · 0 评论 -
redis数据结构 (3)——字典
dict是一个用于维护key和value映射关系的数据结构 . Redis的一个database中所有key到value的映射,就是使用一个dict来维护的,key 是对象的名称,value 是各种不同的对象,所有的对象都挂在一棵字典上。除了容纳所有对象的主干字典外,还有容纳所有带过期时间的对象的过期主干字典,它的 key 是对象的名称,value 是对象的过期时间戳。typedefstr...原创 2019-06-20 19:48:14 · 777 阅读 · 0 评论 -
Redis数据结构(2)——列表
列表内部编码:ziplist(压缩列表):当列表元素个数小于 list-max-ziplist-entries 配置(默认512个),同时列表中每个元素的值都小于list-max-ziplist-value配置时(默认64个字节),redis会选用ziplist来作用列表内部实现(3.2版本前) linkedlist(双向链表):当列表类型无法满足ziplist条件时(3.2版本前) ...原创 2019-06-14 14:16:16 · 316 阅读 · 0 评论 -
Redis数据结构(1)——redisObject对象和string
前言该系列重点讲解Redis在内存中的数据结构实现(暂不涉及基础api)。Redis本质上是一个数据结构服务器(data structures server),以高效的方式实现了多种现成的数据结构,研究它的数据结构和基于其上的算法,对于我们自己提升局部算法的编程水平有很重要的参考意义。当我们在本文中提到Redis的“数据结构”,可能是在两个不同的层面来讨论它。第一个层面,是从使用者的角度...原创 2019-04-04 18:10:05 · 1408 阅读 · 0 评论 -
redis 命令总结
全局: redis-cli,redis客户端;远程例子 redis-cli -h 127.0.0.1 -p 6379 -a "sendinfo" del [key];exists [key]; Expire key time;为key设置过期时间,time单位为秒 pexpire ...;和expire命令相同,只是过期时间单位为毫秒,pttl..相对应的命令都加p ...原创 2020-05-27 23:45:19 · 620 阅读 · 0 评论