redis

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

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

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

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

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中地理位置功能Geospatial的应用

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

Redis底层数据结构SkipList的实现

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

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

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

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

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

Redis的持久化详解

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