社区
PostgreSQL
帖子详情
短时间内同时更新数据库的问题
newbting
2014-01-08 05:07:30
发现 网站 领取任务的人数 和字段中得任务人数不一样,多出一些。
任务人数是对 每次 用户进行注册时 进行 +1 操作,
根据查看 应该是 同一秒进行注册的人,获取的当前数据库人数一样, 都进行+1操作,也就只加了一次,,
求教下各位,这个有什么方法解决吗
...全文
616
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
打赏
举报
回复
你是如何设计的。 把你的代码贴出来,才知道原因。
被先
更新
数据库
,再删除缓存
问题
数据不一致原因搞大了头
这篇文章不会去讨论是先删缓存还是先
更新
数据库
这个
问题
,而是只聊其中一个,个人采用的,我觉得或者大部分人都觉得最优的一个的方案,即 先
更新
数据库
,再删除缓存 然而再聊到这个方案的弊端的时候,充斥着大量的文章来解释这个方案带来的缓存不一致的原因如下,我看了半天尽量用自己理解下来的话说的清楚点。 线程1执行查询操作, 未命中缓存,然后查询
数据库
得到db中结果。 线程2执行
更新
数据库
操作, 然后删除缓存, db中目前是最新值,但是和1查询的结果是不一致的。 线程1用查询到的db的值来缓存到
数据库
,由于线程2删除缓
同一个ip在
短时间
内产生太多中断的
数据库
连接
今天公司内部分电脑连接服务器时出现下面的错误,分享出来给大家,提供几种解决方式。错误描述:MySql Host is blocked because of many connection errors; 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写文章