社区
PostgreSQL
帖子详情
短时间内同时更新数据库的问题
newbting
2014-01-08 05:07:30
发现 网站 领取任务的人数 和字段中得任务人数不一样,多出一些。
任务人数是对 每次 用户进行注册时 进行 +1 操作,
根据查看 应该是 同一秒进行注册的人,获取的当前数据库人数一样, 都进行+1操作,也就只加了一次,,
求教下各位,这个有什么方法解决吗
...全文
614
5
打赏
收藏
短时间内同时更新数据库的问题
发现 网站 领取任务的人数 和字段中得任务人数不一样,多出一些。 任务人数是对 每次 用户进行注册时 进行 +1 操作, 根据查看 应该是 同一秒进行注册的人,获取的当前数据库人数一样, 都进行+1操作,也就只加了一次,, 求教下各位,这个有什么方法解决吗
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
justinlu36
2015-03-03
打赏
举报
回复
估计楼主是用rule 做这个功能,那是会出现这个问题。应该用trigger。
huguangshanse00
2014-11-05
打赏
举报
回复
建议将“领取任务的人数 和字段中得任务人数” 这两个+1的SQL语句放在同一个事务(begin;commit)中或在1个函数中处理,这样就能避免上面所说的问题,同时需要说明的是:如果多个事务同时并发,对于updae操作会发生锁表现象(互斥锁,表级别),即这些事务会串行化处理保持事务的一致性。
zeeeitch
2014-11-05
打赏
举报
回复
方法1 代码用锁表、update +1 、解锁;查询人数直接select 方法2 做一个表辅助,每个人+1,这个表insert一行,查询人数,select count(*) from 辅助表 方法3 做一个表辅助ta,每个人+1,这个表insert一行;系统后台每隔一段时间,更新这个表的总数到另一个表tb,update tb set xxx= select count(*) from ta; 查询人数,select xxx f rom tb
zeeeitch
2014-11-05
打赏
举报
回复
一般不这样设计啊,
trainee
2014-01-09
打赏
举报
回复
你是如何设计的。 把你的代码贴出来,才知道原因。
被先
更新
数据库
,再删除缓存
问题
数据不一致原因搞大了头
这篇文章不会去讨论是先删缓存还是先
更新
数据库
这个
问题
,而是只聊其中一个,个人采用的,我觉得或者大部分人都觉得最优的一个的方案,即 先
更新
数据库
,再删除缓存 然而再聊到这个方案的弊端的时候,充斥着大量的...
同一个ip在
短时间
内产生太多中断的
数据库
连接
今天公司内部分电脑连接服务器时出现下面的错误,分享出来给大家,... unblock with 'mysqladmin flush-hosts错误原因:同一个ip在
短时间
内产生太多(超过mysql
数据库
max_connection_errors的最大值)中断的
数据库
...
关于
数据库
和缓存一致性
问题
的思考
先
更新
缓存,后
更新
数据库
先
更新
数据库
,后
更新
缓存先删除缓存,后
更新
数据库
串行执行并发执行先
更新
数据库
,后删除缓存串行执行并发执行解决方案设置缓存超时时间分布式锁(读写串行化)异步补偿人工处理感谢 ...
缓存
更新
和
数据库
更新
先后顺序
1、
更新
缓存,
更新
数据库
谁先操作都可能发生
问题
:并发写操作A、B时,由于无法保证时序 1)可能出现请求A先
更新
缓存,B后
更新
数据库
2)B
更新
缓存时,A
更新
了
数据库
3)导致
数据库
和缓存数据不一致 ...
两难!先
更新
数据库
再删缓存?还是先删缓存再
更新
数据库
?
前言当我们在做
数据库
与缓存数据同步时,究竟
更新
缓存,还是删除缓存,究竟是先操作
数据库
,还是先操作缓存?本文带大家深度分析
数据库
与缓存的双写
问题
,并且给出了所有方案的实现代码方便大家参考。...
PostgreSQL
972
社区成员
1,472
社区内容
发帖
与我相关
我的任务
PostgreSQL
PostgreSQL相关内容讨论
复制链接
扫一扫
分享
社区描述
PostgreSQL相关内容讨论
sql
数据库
数据库架构
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章