数据库更新处理方案倒底哪个强?

发布于 2021-11-30 17:31:12 字数 670 浏览 656 评论 3

大家帮看看哪种设计会更好些:

目前应用直接和redis缓存交互,对于需要做数据更新的操作是 拼接SQL,然后把sql放到redis的一个列队里面,后台用crontab定时消耗这个列队来进行数据库更新,目前运行良好。

由于需要,系统引入了beanstalkd任务系统,主要做一些耗时的操作。于是也想把SQL处理这块也移植到beanstalkd里面,统一作为任务来处理。这样系统分工更明确些,结合任务状态可以更好的处理执行失败的sql.

现在的设计有2个:

1.沿用拼接sql,任务数据就是sql,接到任务后运行即可。

insert into user(name) values('Test');

2.采用ORM映射(mybatis),任务数据是json格式,拿到后直接序列化为相应对象,然后调用对应的接口直接操作。

{
    "action": "insert",
    "mapper": "user",
    "data": {
        "name": "Test"
    }
}

各有各的优点,缺点。想听听大家的看法,总之肯定是要移植到beanstalkd来处理了。

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

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

发布评论

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

评论(3

羁拥 2021-11-30 19:49:32

采用了第二种,不过后来发现json真是个好东西,结果直接上mongodb了。

乞讨 2021-11-30 19:41:04

不知道你最终到底采用了哪一种

柳若烟 2021-11-30 19:07:14

中国山东找蓝翔

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