Redis 哨兵模式的实现详解

目录高可用(HA)哨兵模式概述哨兵的搭建伪集群 + 哨兵1. 复制sentinel.conf文件2. 修改sentinel.conf文件3. 新建sentinel26380.conf4. 启动并关联Redis集群5. 启动Sentinel集...

2023-07-24

一文带你了解Redis中RDB与AOF的区别

目录Redis 中的 RDB 与 AOFRDBAOF小结Redis 中的 RDB 与 AOF我们都知道,Redis 运行时是将数据保存在内存中的,如果服务器宕机或者重启,那么内存中的数据必然会丢失,从而影响正常...

2023-07-24

Redis中ziplist压缩列表的实现

目录一 前言二 源码解读2.1 ziplist 布局2.2 entry 节点2.2.1 prelen2.2.2 encoding 编码三 连锁更新四 总结一 前言List 列表是简单的字符串列表,按照插入顺序排序,可以从头...

2023-07-24

关于Redis中bitmap的原理和使用详解

目录一、原理二、BitMap 相关命令三、BitMap 空间计算四、使用场景1. 用户签到2. 统计活跃用户(用户登陆情况)3. 统计用户在线状态4. 实现布隆过滤器五、总结一、原理先声明一...

2023-07-24

Redis Lua同步锁实现源码解析

目录Redis+Lua同步锁Jedis配置Jedis工具类→获取jedisredis 锁工具类加锁示例(jedis+lua)Redis+Lua同步锁Jedis配置@Configuration@Getter@Setter@Slf4j@ConfigurationP...

2023-07-24

Redis分布式缓存的安装

目录前言使用redis的原因安装二、docker下安装启动Redis容器观察Redis启动效果查看Redis的版本Redis服务器和客户端前言redis会周期性的把更新的数据写入磁盘或者把修改操作...

2023-07-24

浅析Redis中String数据类型及其底层编码

目录从 RedisObject 说起Redis 数据结构 -- StringString 类型的基本介绍和命令String 类型的底层实现动态字符串(SDS)String 的三种编码方式从 RedisObject 说起在 Redis 中,...

2023-07-24

浅析Redis底层数据结构Dict

目录Dict 的结构dicthtdicEntrydictDict 的 rehashRedis 如何实现 rehash什么时候进行 rehashrehash 的新 size 是多大?渐进式 rehashrehash 的步骤Dict 优点在于,它能以 O(1...

2023-07-24

详解Redis中地理位置功能Geospatial的应用

目录Geospatial Indexes 的数据结构常用命令实用场景示例1. 找出某一经纬度周围的餐馆2. 按照距离排序查询景点3. 根据经纬度计算两点距离Geospatial Indexes 是 Redis 提供...

2023-07-24

Redis中哈希结构(Dict)的实现

目录前言Redis中的Dict结构什么是哈希冲突Redis的渐进式rehashrehash的触发条件扩容扩多大?为什么叫渐进式总结前言哈希结构是一个在计算机中非常常见的结构。哈希结构可以让...

2023-07-24

Redis中List实现双链表

目录概述:特征:(与LinkedList类似)List常见命令1.Lpush key element.....:向列表左侧插入一个或多个元素 2.LPOP key :移除并返回列表左侧的第一个元素,没有则返回nil3.RPUSH key e...

2023-07-24

一文弄懂Redis Stream消息队列

目录1. Stream简介2. 字典树(Trie Tree)3. 基数树(Radix Tree)3.1 Radix Tree3.2 计算机对Radix Tree的处理4. 基数树(Radix Tree)的实现4.1 raxNode结构定义4.2 Rax Insert4.3 Ra...

2023-07-24

Redis BigKey的问题解决

目录什么是BigKey?如何查看Redis中的bigKey?查看单个Keymemory usage如何优化1 拆分2 本地缓存什么是BigKey?BigKey指的是redis中一些key value值很大,这些key在序列化与反...

2023-07-24

关于Redis的内存淘汰策略详解

目录一、什么是内存淘汰?二、Redis 内存上限三、Redis 内存淘汰策略四、内存淘汰的具体工作步骤五、LRU 算法及在 Redis 中的改进5.1 LRU 算法5.2 Redis 中的 LRU 算法六、LF...

2023-07-24

Redis高可用梳理详解

目录为什么要有Redis高可用?高可用的手段持久化:主从同步哨兵模式(Sentinel)Redis Cluster 集群方案为什么要有Redis高可用?痛点:如果一个服务的redis,只有一个master节点,那哪天接...

2023-07-24

如何保证Redis与数据库的数据一致性

目录一. 针对读场景:二. 针对写场景:针对(2)的情况有两个疑问:关于疑问(1)有两个方案方案1:删除缓存方案2:更新缓存综合分析关于疑问(2)有两个方案方案1:先更新缓存,后更新数据库方...

2023-07-24

Redis的持久化详解

目录一、Redis的持久化二、RDB(Redis DataBase)1、RDB快照原理2、RDB配置3、redis.conf 其他一些配置4、RDB的备份恢复5、RDB优缺点三、AOF(Append Of File)1、AOF原理2、AOF配...

2023-07-24

Redis中set类型实现交集并集差集

目录概述:特征:Set常见命令:1.Sadd key number..:向set中添加一个或多个元素2.Srem key number...:移除set中指定的元素3.Scard key:返回set中元素的个数4.Sismember key member:...

2023-07-24

详解redis big key 排查思路

目录定义big key如何排查Big Key官方解决方案解析RDB文件并统计网络统计新增从节点总结今天在秦晓辉的运维系统监控专栏交流群中,看到了几位朋友在讨论redis big key 扫描的...

2023-07-24

redis Template.opsForValue()中方法实例详解

查看源码可以看到redisTemplate.opsForValue()中的方法都定义在ValueOperations<K, V> 中,该接口中一共有17个方法:public interface ValueOperations<K, V> { void set(K key...

2023-07-24

Redis的Sentinel解决方案介绍与运行机制

目录一、sentinel介绍二、Sentinel支持集群三、关于Sentinel版本四、运行Sentinel五、Sentinel的配置六、Sentinel的“仲裁会”七、配置版本号八、配置传播九、SD...

2023-07-24

一文详细介绍Redis7持久化机制RDB和AOF

目录持久化方式RDB持久化savedbfilenameAOF持久化appendonlyappendfilenameappenddirnameappendfsync循环添加重复的keyredis.conf配置AOF和RDB优缺点比较AOF和RDB混合使用...

2023-07-24

高并发场景分析之redis+lua防重校验

目录高并发场景:redis+lua防重校验redis+lua语言去重高并发场景:redis+lua防重校验大家平时在做有并发量下单的项目时,代码层面基本上就分为这么几个步骤:参数校验--->防重校验-...

2023-07-24

关于Redis的慢查询日志功能详解

目录慢查询记录慢查询两个配置参数修改配置参数慢查询日志慢查询记录我们都知道像mysql等持久化数据库会有慢查询日志,其实Redis中也有慢查询日志的功能。慢查询就是系统在执...

2023-07-24

redis中bind配置的详细步骤

目录前沿当不存在bind时当bind 本机ip地址时注意前沿在配置文件redis.conf中,默认的bind 接口是127.0.0.1,也就是本地回环地址。这样的话,访问redis服务只能通过本机的客户端连...

2023-07-24

linux redis-连接命令解读

目录linux redis-连接命令winds/linux命令行连接登陆redisredis图形化连接linux以及redis简单命令redis图形化连接linuxredis简单命令总结linux redis-连接命令连接远程redi...

2023-07-24

redis的持久化和缓存机制解读

目录redis的持久化和缓存机制一、redis的适用环境二、持久化SnapshottingAOF方式redis缓存和两种持久化机制两种持久化机制总结redis的持久化和缓存机制说道redis,我们可能都...

2023-07-24

解析Redis的缓存类型

目录HashMap/ConcurrentHashMapLinkedHashMap 缓存TreeMap缓存ByteBuffer 缓存HashMap/ConcurrentHashMapHashMap 是一种基于哈希表的集合类,它提供了快速的插入、查找和删除...

2023-07-24

Redis数据结构之listpack和quicklist使用学习

目录Redis两种结构 listpack 和 quicklist1、listpack2、 quicklistRedis两种结构 listpack 和 quicklist按照顺序,本来应该先介绍 quicklist 的结构,quicklist 在 7.0 之前的...

2023-07-24

Redis实现库存扣减的示例代码

目录解决方案解决思路基于数据库单库存基于数据库多库存在日常开发中有很多地方都有类似扣减库存的操作,比如电商系统中的商品库存,抽奖系统中的奖品库存等。这次分享的是库存...

2023-07-24

Redis拓展之定时消息通知实现详解

目录1. Redis实现定时消息通知2. 例子pom.xmlapplication.yml创建RedisConfig创建RedisListenerConfiguration事件监听事件 RedisTask发布 RedisPublisher修改TestControlle...

2023-07-24

关于Redis解决Session共享问题

目录一、集群Session共享问题二、Redis存储验证码和对象三、解决状态登录刷新问题一、集群Session共享问题session共享问题:多台Tomcat并不共享session存储空间,当请求切换到...

2023-07-24

Redis+IDEA实现单机锁和分布式锁的过程

目录单机下:1.synchronized2.ReentrantLock分布式下:1.SETNX2.Redisson(推荐)Redis工具类单机下:只适用于单机环境下(单个JVM),多个客户端访问同一个服务器1.synchronizedpackage...

2023-07-24

Redis之Redisson原理详解

目录1 Redisson1.1 简介1.2 与其他客户端比较1.3 操作使用1.3.1 pom.xml1.3.2 配置1.3.3 启用分布式锁1.4 大致操作原理1.5 RLock1.5.1 RLock如何加锁1.5.2 解锁消息1.5.3...

2023-07-24

拦截Redis命令导致的Lua脚本执行失败的问题解决

目录lua 脚本使用方式redis script 相关命令说明execute 方法执行过程项目中遇到的问题怎么拦截 redis 命令解决办法总结大家好,今天分享一个在使用 redis lua 脚本过程中遇...

2023-07-24

Redis跳跃表添加元素的方法实现

目录跳跃表介绍跳跃表添加流程前置知识:节点随机层数为什么要这样设计呢?添加流程随机层数源码分析小结今天分享的这道题来自于蔚来的真实面试题。Java 面试不可能不问 Redis,...

2023-07-24

Redis数据结构之intset整数集合使用学习

目录Redis数据结构intset1、整数集合2、升级3、升级的好处4、降级Redis数据结构intset整数集(intset)是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数...

2023-07-24

浅谈Redis中bind的坑

今天在搭建Redis服务集群的时候,发现自己一直以来对Redis中bind的理解的一个误区。在今天以前,我一直认为Redis中的配置文件中的bind的作用是:用来限制Redis服务器用来接收来自...

2023-07-24

深入解析Redis的LRU与LFU算法实现

目录一、前言二、Redis的LRU实现2.1 LRU算法原理2.2 Redis LRU算法实现2.3 LRU算法缺陷三、Redis的LFU实现3.1 LFU算法原理3.2 Redis LFU算法实现3.2.1 LFU算法代码实现3.3....

2023-07-24

Redis集群Lettuce主从切换问题解决方案

目录一、问题描述二、原因三、解决方案3.1 方案一:把lettuce换成jedis3.2 方案二:刷新节点拓扑视图一、问题描述Redis Cluster集群,当master宕机,主从切换,客户端报错 timed out...

2023-07-24

Redis实现布隆过滤器的代码详解

目录一、前言二、RedisBloom 安装与使用三、RedisBloom 常用命令汇总四、通过 Jedis 使用 RedisBloom五、Redisson 封装的布隆过滤器六、使用哪种方式的过滤器比较好?一、前...

2023-07-24

Redis如何统计用户访问量

目录Redis统计用户访问量1. 使用Hash2. 使用Bitset3. 使用概率算法使用Redis做某个时间段在线数统计实现总结Redis统计用户访问量1. 使用Hash哈希作为Redis的一种基础数据结...

2023-07-24

浅谈Redis分片集群搭建及其原理

目录1.Redis分片集群1.1.搭建分片集群1.2.准备实例和配置1.3.启动1.4.创建集群1.5.测试2.散列插槽原理2.1.插槽原理2.2.小结3.集群伸缩3.1.需求分析3.2.创建新的redis实例3....

2023-07-24

redis zrange 与 zrangebyscore的区别解析

目录redis zrange 与 zrangebyscore的区别前言先说概念上的结论:实验数据准备对比案例一对比结论:对比案例二对比结论:总结redis zrange 与 zrangebyscore的区别前言想做一个在...

2023-07-24

Redis的常用命令小结

目录1. Redis 数据结构2. Redis 通用命令3. String 类型4. Hash 类型5. List 类型6. Set 类型7. SortedSet 类型1. Redis 数据结构Redis 是一个键值对的数据库, 也就是 key-...

2023-07-24

Redis数据结构之跳跃表使用学习

目录Redis跳跃表结构1、跳跃表及跳跃表节点结构2、跳跃表结构3、跳跃表节点结构4、跳跃表节点层(level)介绍5、跳跃表的查询过程Redis跳跃表结构跳跃表结构是有序集合的底层...

2023-07-24

Redis Brpop 命令作用详解

目录Redis BRPOP 命令返回值例子:一、作用二、demo演示Redis BRPOP 命令BRPOP 是一个阻塞的列表弹出原语。 它是 RPOP 的阻塞版本,因为这个命令会在给定list无法弹出任何元素...

2023-07-24

Redis 延时任务实现及与定时任务区别详解

目录引言一、延时任务是什么二、延时任务和定时任务的区别是什么三、技术对比1.数据库轮询2.JDK的延迟队列3.时间轮算法4.使用消息队列5.Redis的Zset实现延时任务5.1 思路分...

2023-07-24

Redis 删除策略的三种实现

目录一、Redis过期时间设置二、定时删除三、惰性删除 (空间换时间)四、 定期删除(中和以上两种方案)五、三种删除方案对比六、逐出算法1、MaxMemory配置指令2、驱逐政策Redis中...

2023-07-24

redis的hash类型操作方法

目录简介原生操作增加/修改【key的field的value】查询删除【key的field】java操作redis的hash类型修改查询删除方法设置key得到期时间 TimeUnit 设置时间类型(时、分、秒...)...

2023-07-24
返回顶部
顶部