实时显示库存,尽量减少脏数据的引起的不方便

发布于 2021-11-22 15:24:37 字数 1001 浏览 723 评论 3

问题:公司需要实时显示自己的库存给客户的浏览器端,客户1w,后台备用查询更新的数据量不会过10W条,查询频率很高。

系统环境:java,mysql,jboss7

目前的解决方案:目前库存系统只是给少量客户使用的,就是在数据库加一列存储uuid做为锁,每次更新后更新锁,只有获取最新锁才能更新。其实就是一个一次性锁,只有拿到最新的那把锁才能进行更新操作。

目前的缺陷:虽然避免了写看到的脏数据,但是读依然存在读脏数据,并经常提示“请重新获取锁",客户处理效率低。客户已经上w了,总是手工查询数据库,客户效率极低,后台数据库处理也低了。

预想计划:客户端每隔2秒自动异步请求,将库存数据全部读到内存,更新首先内存时,首先更新到内存并快速返回给客户端,更新时同时发一条异步消息,让另外一个异步程序将”更新数据“从内存更新到mysql数据库;或者当更新数据到一定量时,flush一下将更"新的数据"同步到数据库去。

问题:是否有内存数据库能直接配置下自己就能同步给mysql?个人只是预想,解决过的朋友给请给些建议,非常感谢。

内存数据库问题

http://www.oschina.net/question/102698_12700

redis与数据库同步的问:http://www.oschina.net/question/558240_110684

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

霞映澄塘 2021-11-23 23:43:36

读写分离

瑾兮 2021-11-23 12:25:14

看到有人有类似的需求:

redis 搭配 SQL 实践问题

http://segmentfault.com/q/1010000000177049

http://www.oschina.net/p/mysql-syncer

这里还有一篇文章,大意是“如果你可以接受定期从redis导入到mysql,那基本上表示你的业务就不需要mysql,因为redis不仅仅是缓存,塞给它的数据是持久化到硬盘的,你下次直接从redis读出来就行了。”

我的需求只是为了展现实时库存,其他的业务的数据还是想放在mysql,不为别的,只因为熟

http://segmentfault.com/q/1010000000150049

把昨日还给我 2021-11-22 23:04:56

MySQL主从复制:从机用来读取数据。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文