
redis
文章平均质量分 94
redis的基本介绍和使用
才放一花天地香
这个作者很懒,什么都没留下…
展开
-
布隆过滤器
简介布隆过滤器(Bloom Filter)是非常经典的,以空间换时间的算法。布隆过滤器由布隆在 1970 年提出。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。布隆过滤器的原理布隆过滤器的实现原理是一个超大的位数组和几个哈希函数。假设位数组的长度为 m,哈希函数的个数为 k。解析上图,具体的操作流程:假设集合里面有 3 个元素 {x, y, z},哈希函数的个数原创 2022-03-15 17:26:58 · 17216 阅读 · 0 评论 -
Redis之内存淘汰机制
Redis内存淘汰的原因Redis作为一个高性能的内存NoSQL数据库,其容量受到最大内存限制的限制。当Redis内存超出物理内存限制时,内存数据就会与磁盘产生频繁交换,使Redis性能急剧下降。此时如何淘汰无用数据释放空间,存储新数据就变得尤为重要了。Redis在生产环境中,在Redis内存使用超过一定值的时候(通过配置参数maxmemory 来设置)会使用淘汰策略。当实际存储内存超出maxmemory 参数值时,开发者们可以通过这几种方法——Redis内存淘汰策略,来决定如何腾出新空间继续支持读写工原创 2022-01-21 16:51:00 · 673 阅读 · 0 评论 -
Redis之常见问题
缓存击穿什么是缓存击穿怎么解决缓存击穿问题缓存穿透什么是缓存穿透如何解决缓存穿透问题缓存雪崩什么是缓存雪崩如何解决缓存雪崩问题数据双写什么是数据双写如何解决数据双写问题...原创 2022-01-20 17:20:42 · 1127 阅读 · 0 评论 -
Redis之哨兵
简介Sentinel是Redis的高可用性解决方案:由一个或多个Sentinel实例组成的Sentinel系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已经下线的主服务器继续处理命令请求。启动并初始化Sentinel启动一个Sentinel可以使用命令:$ redis-sentinel /path/to/your/sentinel.conf 或者命令$ redis-原创 2022-01-12 14:35:46 · 446 阅读 · 0 评论 -
redis之集群
redis集群分类原创 2022-01-07 17:00:26 · 948 阅读 · 0 评论 -
Redis之跳跃表
简介通过将有序集合的部分节点分层,由最上层开始一次向后查找,如果本层的next节点大于要查找的值或next节点为NULL,则从本节点开始,降低一层继续向后查找,依次类推,如果找到则返回节点;否则返回NULL。采用该原理查找节点,在节点数量比较多时,可以跳过一些节点,查询效率大大提升,这就是跳跃表的基本思想。跳跃表的实现过程跳跃表有如下性质:跳跃表由很多层结构跳跃表有一个头节点,头节点中有一个64层的结构,每层的结构包含指向本层的下个节点的指针,指向本层下个节点中间所跨越的节点个数为本层的跨度原创 2021-12-24 17:07:01 · 681 阅读 · 0 评论 -
redis之详解
说明数据结构和对象持久化复制原理事务排序集群原创 2021-12-23 18:25:30 · 324 阅读 · 0 评论 -
redis之持久化
持久化的分类原创 2021-08-08 15:05:34 · 194 阅读 · 0 评论 -
redis之主从复制
几个常见的概念在讲解主从复制原理之前我们首先要了解几个基本的概念,这有利于我们立交主从复制的过程:Redis的复制功能分为同步和命令传播两个操作:同步 注意,redis2.8以前的版本和redis2.8之后的版本在这一步有些不同,主要是新版本中有偏移量的维护,其他基本一致,在这里是以新版本为主的。 当客户端向从服务器发送slaveof命令,要求从从服务器复制主服务器时,从服务器首先进行同步操作,也就是,将从服务器的数据库状态更新至主服务器的当前所处的数据库状态。 从服务器对主服务器原创 2021-04-12 16:06:46 · 839 阅读 · 0 评论 -
redis之字典
什么是字典字典又称散列表,是用来存储键值对的一种数据结构,在很多高级语言中都有实现。但是C语言没有这种数据结构,Redis是K-V型数据库,这个数据库使用字典来存储的,对redis数据库的增、删、改、查,实际就是对字典中的数据进行增、删、改、查。根绝redis数据库的特点,可知字典有如下特征:可以存储海量数据,键值对是映射关系,可以根据键以O(1)的时间复杂度取出或插入关联值。键值对中键的类型可以是字符串、整型、浮点型等,且键是唯一的。键值对中值的类型可为String,hash,list,set原创 2021-04-07 16:21:07 · 1212 阅读 · 0 评论 -
redis之动态字符串
众所周知,redis以高性能著称。毫无疑问,redis的高性能一定要有一些自己设计的特殊、易用且安全的数据结构作为支撑,来满足不同场景下的存储需求。下面我们就对redis常使用的几种数据结构进行详解,从中大家可以看到redis是如何使用这些数据结构,选择这些数据而不使用市面已存在的类似数据结构的原因以及这些数据结构是如何保证redis的高性能的。简单动态字符窜我们知道redis没有使用C语音传统的字符窜表示(以空字符结尾的字符数组,在我所有文章中统一称为C字符串),而是自己构建了一种名为**简单动态字符原创 2021-03-29 17:35:25 · 655 阅读 · 0 评论