mysql
吃光一座城
路漫漫其修道远,吾将上下而求索。
展开
-
缓存数据库双写不一致
设置缓存过期时间:给缓存设置过期时间短一些,所有写操作以数据库为准,只要达到缓存过期时间,则后面的读请求会从数据库读取新值然后回填缓存;方案2应该是最好的,也是最复杂的。面向缓存,所有读、写请求都在 Redis 中进行,发生写事件时由消息队列异步更新数据库。漏洞:如果另一个Java web 服务也在操作同一张表,但却没有缓存同步,就无解了。漏洞:如果另一个Java web 服务也在操作同一张表,但却没有缓存同步,就无解了。如果不一致的数据是业务操作引起的,可以在业务操作时,对相应的缓存进行失效操作。原创 2024-01-10 09:58:18 · 446 阅读 · 0 评论 -
Mysql 根据某一列的值 循环添加序号
一个表有个主键id,一个工号。现在工号重复,查出来所有的工号重复的数据,并对这些数据的工号后边加01,02,03 SELECT rownu, tb.jobid, (rownum1 - d.minvalue) FROM ( SELECT @rownum1 :=@rownum1 + 1 AS rownum1, jobid FROM tablea, (SELECT @rownum1 := 0) t ) tb LEFT JOIN ( SELECT min(rownum原创 2022-04-07 16:29:08 · 1506 阅读 · 0 评论