数据库

Redis高可用梳理详解

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

Redis分布式缓存的安装

目录前言使用redis的原因安装二、docker下安装启动Redis容器观察Redis启动效果查看Redis的版本Redis服务器和客户端前言redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了ma

一篇吃透Redis缓存穿透、雪崩、击穿问题

前言:在学Redis之前我们查询数据的时候都是直接查询数据库的,但是这样会有一个潜在的问题:“如果用户量很大,所有请求都去访问数据库,那么会使数据库压力过大,导致性能下降甚至宕机”。因此,我们需要把经常访问的数据放到

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

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

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

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

Redis分布式锁的10个坑总结

目录1. 非原子操作(setnx + expire)2.被别的客户端请求覆盖( setnx + value为过期时间)3. 忘记设置过期时间4. 业务处理完,忘记释放锁5. B的锁被A给释放了6. 释放锁时,不是原子性7. 锁过期释放,业务

浅析Redis底层数据结构Dict

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

SpringBoot整合Mybatis-plus和Redis实现投票功能

目录一、背景介绍二、开发环境三、技术实现1. 配置Redis2. 配置Mybatis-plus3. 实现投票功能四、测试运行五、总结一、背景介绍投票功能是一个非常常见的Web应用场景,SpringBoot作为当今流行的Web开发框架,为了提

Redis底层数据结构SkipList的实现

目录为什么需要 SkipList(跳表)跳表的结构设计跳表的节点(zskiplistNode )跳表(zskiplist )跳表的查询过程为什么需要 SkipList(跳表)在普通链表中查找元素的时候,因为需要遍历查找,所以查询效率非常低,

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

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

redis使用zset实现延时队列的示例代码

目录1、为什么zset可以做消息队列?2、使用的zset命令3、代码实现3.1 消息实体3.2 队列类型3.3 创建消息工具3.4 消费消息最近在使用redis时,就想能不能用其实现消息队列?也在网上看了下其他小伙伴写的实现,结合自身业务实

redis缓存与数据库一致性的问题及解决

目录一、需求起因二、数据不一致原因写流程读流程三、问题解决思路四、总结一、需求起因假设先写数据库,再淘汰缓存:第一步写数据库操作成功,第二步淘汰缓存失败,则会出现DB中是新数据,Cache中是旧数据,数据不一致【db中是新数据,cache中

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

目录前言Redis中的Dict结构什么是哈希冲突Redis的渐进式rehashrehash的触发条件扩容扩多大?为什么叫渐进式总结前言哈希结构是一个在计算机中非常常见的结构。哈希结构可以让我们在O(1)时间复杂度查找元素并且对其操作,并且增

Redis的持久化详解

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

浅谈Redis内存回收策略

目录过期删除策略设置Redis键过期时间过期删除策略Redis 使用的过期删除策略内存淘汰策略 (逐出算法)LFULRU参考Redis的内存回收机制主要体现在以下两个方面:删除到达过期时间的键对象。内存使用达到maxmemory上限时触发内

Redis慢查询的具体使用

目录什么是Redis慢查询?产生慢查询有哪些原因?如何解决慢查询问题?使用复杂度过高的命令大key问题集中过期总结什么是Redis慢查询?redis的"慢查询"与redis定义慢查询的时间阈值有关,Redis提供了slowlog-log-s

Redis的键String全面详解

目录String开篇1 字符串键1.1 C语言的字符串实现1.2 Redis的利器,SDS1.3 String In ActionString在分布式锁中的应用总结String开篇在介绍之前,笔者想介绍一下Redis的设计精髓,也就是其单线

Redis 哨兵模式的实现详解

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

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

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