今天给大家讲讲最近2个有意思的issue,分享一下我学到的
mysql DuplicateUpdate的用法要注意的点
有个issue说遇到了一个这样的问题,
这个朋友使用我开源的job调度框架 https://github.com/yuzd/Hangfire.HttpJob
存储用的是mysql,采用的实现是 https://github.com/arnoldasgudas/Hangfire.MySqlStorage
set表的id是自增主键,正常理解 都是慢慢自增上去的,但是发现是大幅度跳跃式的自增, 真相是什么?
首先针对这个问题,首先我们搞清楚在hangfire中和storage相关的部分如下
image
Hangfire.Httpjob其实只是依赖了storage api那一层,也没有能力去直接写sql去执行, 只能用api去操作hangfire的那几张表(比如set表)
那么问题肯定不是在扩展层,而是得去看看mysqlstorage的实现源码,针对set表的处理逻辑