- 博客(6)
- 收藏
- 关注
原创 Redis锁防重复提交
摘要:前端防重复提交可通过Loading加载实现,但数据量大时仍需后端处理。基于Redis的防重方案:1)构造唯一键标识操作;2)使用setIfAbsent获取锁;3)失败返回"操作频繁"提示;4)成功则设置5分钟过期时间防止死锁;5)执行业务逻辑。该方法结合Redis原子操作实现高效防重,确保并发安全。
2025-06-02 14:54:54
174
原创 coalesce和ifnull的区别
COALESCE(expression_1, expression_2, ...,expression_n) 函数接受一个或多个参数,依次检查参数是否为NULL,返回第一个非NULL值。IFNULL(A, B) 函数接收两个参数,第一个参数是需要检查是否为NULL的值,第二个参数是当第一个参数为NULL时返回的默认值。而当我们需要从多个可能为NULL的值中获取第一个非NULL值时,则可以使用COALESCE函数。当我们需要为NULL值设置默认值时,可以使用IFNULL函数。
2025-05-10 13:56:39
155
原创 LPAD函数和CAST函数
问题场景:在当前业务逻辑中,数据库中某个字段的类型为 VARCHAR(20),该字段存储的是数值型字符串(例如 "59"、"60" 等)。在查询该字段后,sql对其执行加法操作(如 +1),并将结果以String形式接收。然而,在这种场景下,可能会出现结果带有小数点的情况(例如 "60.0" 而非预期的 "60")。使用round(xxx, 0)结果并不理想,所以使用了一下解决方案。
2025-04-11 14:12:08
213
原创 OOM:JVM内存不足问题
申请使用完的内存没有释放,导致虚拟机不能再次使用该内存,此时这段内存就泄露了,因为申请者不用了,而又不能被虚拟机分配给别人用。也已经没有空间可供回收时,就会抛出这个错误。(注:非exception,已经严重到不足以被应用处理)。就是你设置的项目需要10内存而你只有5,所以报OOM问题。:申请的内存超出了JVM能提供的内存大小,此时称之为溢出。当 JVM 因为没有足够的内存来为对象分配空间,并且。“Out Of Memory”=“内存不足”
2025-03-28 16:49:44
411
原创 ifnull(sum(xxx))效率高还是sum(ifnull(xxx))效率高?
IFNULL(expr1,expr2),如果expr1的值为null,则返回expr2的值,如果expr1的值不为null,则返回expr1的值。SUM(column_name),SUM() 函数返回数值列的总数。
2025-03-22 16:44:26
120
原创 MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用
IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值。IFNULL(expr1,expr2),如果expr1的值为null,则返回expr2的值,如果expr1的值不为null,则返回expr1的值。ISNULL(expr),如果expr的值为null,则返回1,如果expr1的值不为null,则返回0。
2025-01-27 11:42:57
522
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人