- 博客(3)
- 收藏
- 关注
原创 千寻学java(1) -- 基于Redis实现的分布式锁
1、当代码块出现网络异常或者其他因素导致代码执行时间没有结束,但是锁达到了过期时间,就会导致其他请求也会进来,共同争抢同一张票。但是在多服务器的分布式场景下,就会因为多进程的运转,出现【超卖】或者【重复消费】的情况。这个时候可以通过redis缓存来完成分布式锁的创建。2、当两个请求进来的时候,可能导致锁误删。解决办法:使用操作人ID + 票ID作为组合key,以达到锁的唯一性。有如下代码:以每张票的ID作为锁key,每把锁设置10s的过期时间,防止出现异常的时候死锁。
2024-11-03 01:32:44 159 1
原创 奇奇怪怪的算法二:将输入的数字转换为中文
目前只支持一万亿以下的转化。且代码中的变量名称没有按照标准命名,日后再进行优化。120023 ---> 十二万零二十三。100001 ---> 十万零一。12 --> 十二(不是一十二)10001 ---> 一万零一。20 ---> 二十。2 --> 二。
2023-08-24 19:15:21 125 1
原创 奇奇怪怪的算法一:insert sql语句提取对应的字段与值,使用JAVA代码转换成JSON数据
第一种方法是直接通过逗号进行分割,如果是普通数据,则正好切割开,如果是json数据,则需要通过判断 { 和 } 的数量是否一致,如果是,则表示是完整的数据,但是 ”x,y,z“ 类型的数据会被分开,导致后面取值会造成 数据与字段匹配不上,所以使用第二种方法,通过对每一个字符进行判断。1、观察sql,发现字段与值都是放在括号里的,所以直接将括号里的值单独截取出来,去除 不需要的sql关键字等数据。3、对数据进行处理,观察sql,所有的数据都是放在 list 偶数位置上的,可以提取出来。
2023-08-09 20:01:17 348
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人