PipeliningRedis提供许多批量操作的命令,如MSET/MGET/HMSET/HMGET等等,这些命令存在的意义是减少维护网络连接和传输数据所消耗的资源和时间。 例如连续使用5次SET命令设置5个不同的key,比起使用一次MSET命令设置5个不同的key,效果是一样的,但前者会消耗更多的RTT(Round Trip Time)时长,永远应优先使用后者。然而,如果客户端要连续执行的多
转载 2024-10-08 11:41:08
64阅读
1.问题简介:当三台机器使用Spring定时器,会同时给消费者发送支付成功的通知。而且会发三次,对商户的影响很大。例如:客户在使用商户的平台去购买票的时候,支付成功发了三次通知,那么就会出票三次。2.问题解决:使用redis分布式锁,并设置超时时间。当消费者发送通知失败的时候去删除锁,然后重新推送.3.技术:使用Redis的Spring-data-redis依赖,  TimeU
转载 2023-09-30 20:59:44
91阅读
Redis中存储方式有两种 cache-only,persistence; cache-only 缓存服务,不持久数据,服务停止后数据将消失,不存在数据恢复的可能性,是一种 安全性低 效率高 易拓展的方式persistence 持久化服务 persistence redis 提供两种持久化方法 Redis DataBase(简称RDB)Append-only file (简称AOF
转载 2024-04-09 09:42:14
46阅读
一、业务场景:同步锁的问题与分布式锁的应用1、redis的基本命令(1)SETNX命令(SET if Not eXists)  语法:SETNX key value  功能:当且仅当 key 不存在,将 key 的值设为 value ,并返回1;若给定的 key 已经存在,则 SETNX 不做任何动作,并返回0。(2)expire命令  语法:expire KEY seconds  功能:设置ke
本文主要介绍使用redis实现简单的分布式锁以及Redisson 是如何实现分布式锁的。目的和实验复现前提整体模式主要关注点具体实现Redisson是如何实现分布式锁的分布式锁的本质分布式锁本质是对redis中的值是否存在做判断 Java层的接口是redisTemplate.opsForXXX().setIfAbsent() / putIfAbsent()对应redis的接口是SETNX(存
转载 2023-10-15 16:57:39
327阅读
Redis 提供了多种不同级别的持久化方式:RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。AOF append-only file 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis 还可以在后台对
转载 2024-07-05 04:26:30
16阅读
相信大家都有看到,在 java8 后,大量的方法都包含两个单词,ifAbsent 和 ifPresent。absent 表示缺席,理解为当前不存在 即 ifAbsent 在map中主要意思就是 如果 get(key) == null 执行present 表示当下,理解为当下有值, 即 ifPresent 在map中主要的意思就是 如果 get(key) != null 执行这里介绍常用的一些方法: