我有一批数据是通过第三方接口更新的,那个接口是按分类获取的,同一个分类的下的数据每次获取玩要要进行覆盖处理,比如图书这次获取的是1,2,3这三个id的数据三本书过10秒我还按图书分类获取获取的是2,3,4,5这四本书那我就把最新的2,3,4,5四条数据覆盖到数据库(1删除2,3更新4,5添加)数据库目前是mysql怎么高效的处理这个问题接口刷新的频率很快如果我每次都删除分类下所有数据再插入锁表的时间实在不能忍受求合理办法
2 回答
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
既然第三方接口更新的很快,那为什么本地要存呢,直接使用第三方接口的数据就好了。如果本地一定要存,可以用redis替换mysql如果一定要存到mysql中,可以先缓存起来,定时写回到mysql中数据量有多大?能让mysql锁表锁很久??
梦里花落0921
TA贡献1772条经验 获得超6个赞
就只是按你说的来做,mysql,一个分类表,有个字段叫图书s,里面存了123,再刷新更新成2345。非常简单。然后我看到了另外一个人的答案,加上你们的讨论明白不是这么简单的需求,你为什么不在问题中把这件事写清楚呢?每个分类几百条还是一共几百条无论哪种,你用redis做没有问题,不用担心锁表。这样是不是会引出其他新的需求来证明这么做也不可以?你看看一个问题,问出来,经过这么多的反复折腾,说了半天只是在和你确定需求,这中间经过了多少人反复的思索给你想解决的办法。
添加回答
举报
0/150
提交
取消