一江溪水
redis 事务 redis 事务
事务事务是一组逻辑操作。事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。事务是一个原子操作,事务中的命令要么全部被执行,要么全部都不执行。 四大特性事务通常具有
2022-12-25
Redis为什么这么快? Redis为什么这么快?
Redis经常被用作做缓存, 一致性要求不高的场景,还可以当做kv存储使用。 另外, Redis还提供了消息订阅、事务、索引等特性。我们还可以利用集群特性搭建分布式存储服务,实现非强一致性的分布式锁服务。 Redis用到上述场景, 都有一个
2021-12-04
Redis分布式锁如何自动续期 Redis分布式锁如何自动续期
Redis 实现分布式锁 指定一个 key 作为锁标记,存入 Redis 中,指定一个 唯一的用户标识作为 value。 当 key 不存在时才能设置值,确保同一时间只有一个客户端进程获得锁,满足互斥性特性。 设置一个过期时间,防止因系统异
2021-11-27
基于RedLock的分布式锁 基于RedLock的分布式锁
概述在单个主节点的架构上实现分布式锁,是无法保证高可用的,在生产环境上,我们的Redis都是以集群部署的; 那么如果Redis实现分布式锁的是一个主从集群,可能会发生什么情况呢? 如果进程A在主节点上加锁成功,然后这个主节点宕机了,则从节
2021-10-12
Redis实现分布式锁 Redis实现分布式锁
什么是分布式锁分布式锁其实可以理解为:控制分布式系统有序的去对共享资源进行操作,通过互斥来保持一致性 为什么要分布式锁当多个线程需要并发修改一个数据时,为了避免竞争,在单机的情况下,加synchronized或者Lock即可实现互斥 但在分
2021-10-10
Redis-有序集合的数据结构 Redis-有序集合的数据结构
集合概念SetSet类似于Java中的HashSet 。Redis中的set类型是一种无序集合,集合中的元素没有先后顺序,并且不可重复。 当需要存储一个列表数据,又不不能出现重复数据时,Set 是一个很好的选择,并且set提供了判断某个成员
2021-10-06
Redis缓存过期与内存淘汰 Redis缓存过期与内存淘汰
Redis缓存过期与内存淘汰 Redis中有个设置时间过期的功能,即对存储在redis 数据库中的值可以设置一个过期时间,到了过期时间,key会被删除 如果内存空间满了,再往Redis里面插入数据,就会触发缓存淘汰机制 缓存过期策略作为一个
2021-08-20
Redis的持久化方式 Redis的持久化方式
Redis的持久化方式Redis 缓存的优势是提供快速的查询和存储能力,所以所有的数据都被存储在内存中。相对于硬盘,内存中的数据是半持久化存储,当遇到不可抗阻力,例如断电或者硬件损坏导致的服务器宕机时,内存中的数据会完全丢失。为了防止 Re
2021-08-19
如何保证缓存与数据库的一致性? 如何保证缓存与数据库的一致性?
常见的缓存更新策略 先更新缓存,再更新数据库 先更新数据库,再更新缓存 先删除缓存,再更新数据库 先更新数据库,再删除缓存 延时双删-更新数据库前后均删除缓存 如果系统不存在并发情况,这些策略都没问题,但是一旦协同并发上来后,这些策略都有
2021-07-19
如何解决缓存穿透,缓存击穿,缓存雪崩 如何解决缓存穿透,缓存击穿,缓存雪崩
前言缓存在我们日常的开发中,都要数据库来进行数据的存储,当系统的用户量上来之后,系统需要承受大量的并发操作,特别是对数据库的操作,是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问题而存在严重
2021-06-20
Redis基础 Redis基础
Redis介绍 Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 Redi
2021-03-22