首页 > 数据库 >redis分布式锁幂等性问题

redis分布式锁幂等性问题

时间:2023-09-05 16:36:16浏览次数:32  
标签:04 17.56 09 redis datetime 问题 切面 分布式

一.与Transcational注解同时使用

如果是自定义的切面,切面类要加@Order(Ordered.HIGHEST_PRECEDENCE),

保证redis锁的切面在事务切面外面,让事务先提交,再释放redis锁。

二.日期字段是datetime

背景:jmeter  500并发测试接口出现重复插入。接口逻辑如下

 服务器查看日志如下

数据库插入结果如下

2023-09-04 17.56.41.729 到 2023-09-04 17.56.42.015插入的数据,数据库的create_time都是按2023-09-04 17.56.42存储的。在高并发场景下,由于datetime会向上取整,出现重复插入

解决方案:datetime类型的create_time建表时数据类型改为datetime(3),可以支持到毫秒

 

标签:04,17.56,09,redis,datetime,问题,切面,分布式
From: https://www.cnblogs.com/Anti-General/p/17680001.html

相关文章

  • 笔记 | element table show-overflow-tooltip 位置偏移的问题
    一、问题因为我目前的项目是微前端的工程,最外层有一个50px的通用头部,所以页面要减去50px。所有页面看似都很完美,但是使用el-table-column的show-overflow-tooltip属性时,tooltip会向下偏移50px。想到的解决办法:按照el-tooltip的属性更改placement="right"能解决。但......
  • 安装python GUI工具wxPython遇到的问题及解决方法
     报错很长,后面跟了一个: 网上搜了下,大概是安装wxPython前,需要安装编译工具,这里我直接安装了: 然后按照官网安装命令:pipinstall-UwxPython还是失败又按照网上讲的:配置mingw64,配置gcc环境变量,还是失败, 最后想了个办法,不安装最新版本4.2.1的wxPython了,我安装的4.1.1......
  • dotnet 已知问题 使用 Directory
    在dotnet里面,可以使用Directory.EnumerateXXX系列方法进行枚举文件或文件夹。在准备枚举驱动器根路径的文件或文件夹时,可能获取到错误的路径。错误的步骤在于传入的是如C:不带斜杠的路径,且存在同驱动器磁盘下的非根路径工作路径特别感谢神樹桜乃和若凡两位大佬,让我明白......
  • dotnet 记 TaskCompletionSource 的 SetException 可能将异常记录到 UnobservedTaskEx
    本文将记录dotnet的一个已知问题,且是设计如此的问题。假定有一个TaskCompletionSource对象,此对象的Task没有被任何地方引用等待。在TaskCompletionSource被调用SetException或TrySetException方法时,将会记录一个存在异常且未捕获的Task对象。此Task对象将会在被G......
  • Redis 单线程快的原因
    Redis单线程快的原因为什么Redis单线程却能高并发纯内存操作核心是基于非阻塞的IO多路复用机制单线程反而避免了多线程的频繁上下文切换问题Redis的高并发快的原因Redis是基于内存的,内存的读写速度非常快;数据存在内存中,数据结构用HashMap,HashMap的优势就是查找和操......
  • YOLOV5 训练好模型测试时出现问题:AttributeError: ‘Upsample‘ object has no attrib
    在使用YOLOV5训练好模型测试时出现问题:AttributeError:‘Upsample’objecthasnoattribute'recompute_scale_factor’的快速解决方法。解决方法一:有些博主说降低torchhe和torchvision版本,比如上图所示我的torch版本1.11.0torchvision版本0.10.2,torch版本降低到版本1.9.1,torc......
  • 文盘Rust -- 生命周期问题引发的 static hashmap 锁
    2021年上半年,撸了个rustcli开发的框架,基本上把交互模式,子命令提示这些cli该有的常用功能做进去了。项目地址:https://github.com/jiashiwen/interactcli-rs。春节以前看到axum已经0.4.x了,于是想看看能不能用rust做个服务端的框架。春节后开始动手,在做的过程中会碰到各种有趣的问......
  • LeetCode -- 394. 字符串解码(栈处理字符串问题)
     我们用栈同时维护当前字符串和倍数以及要加倍的字符串当遇到"["时,我们保存当前字符串,即将当前字符cres串入栈;当遇到"]"时,res=cres+倍数*应加倍的字符串classSolution:defdecodeString(self,s:str)->str:stack,res,multi=[],"",0......
  • Redis数据结构
    5种基础数据结构:String(字符串)、List(列表)、Set(集合)、Hash(散列)、Zset(有序集合)。这5种数据结构是直接提供给用户使用的,是数据的保存形式,其底层实现主要依赖这8种数据结构:简单动态字符串(SDS)、LinkedList(双向链表)、HashTable(哈希表)、SkipList(跳跃表)、Intset(整数集合)、ZipLis......
  • 达梦定时备份问题
    最近又有项目要用达梦,这次用的需要使用容器的。从官网下载下来。我用的是v8 .1.2.128_ent_x86_64版本   docker-compose文件是version:'3'services:dm8:image:dm8_single:v8.1.2.128_ent_x86_64_ctm_pack4container_name:dm8environment:......