怎么在代码层处理app客户端同个人同时并发多个请求?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

怎么在代码层处理app客户端同个人同时并发多个请求?

2016-02-08 19:53:27 2630 1

怎么在代码层处理app客户端同个人同时并发多个请求?

有个分享统计的接口,有时候客户端同个人会并发多个请求过来,服务端做了集群,最先通过redis 做一个cache(uid+articleid)判断是否有,结果直接绕过.

有没有什么办法直接在代码逻辑里面判断到,然后直接返回,而不是要到mysql那里通过唯一索引什么的来解决.

谢谢~~~

取消 提交回答
全部回答(1)
  • 我的中国
    2019-07-17 18:28:22
    已采纳

    你的需求是并发安全方面的,就是如果同时多个请求,每个请求都涉及到查询,判断,更新这样的三个步骤,由于多个线程同时进行前两部操作,而导致判断被绕过。
    解决办法:
    1.redis的watch,将查询到更新这三个步骤绑定到一起,其实直接使用redis的事务应该就可以了,无需使用watch,具体请实际测试
    2.利用redis设计一个分布式锁,可参考官方给出的方案:http://www.oschina.net/translate/redis-distlock

    3.利用队列,将同一个用户的请求放入同一个队列,依次进行处理

    0 0
相关问答

18

回答

【大咖问答】对话PostgreSQL 中国社区发起人之一,阿里云数据库高级专家 德哥

阿里ACE 彭飞 2019-07-10 09:36:10 1050828浏览量 回答数 18

20

回答

[@倚贤][¥20]学习Java后端的疑惑

小江同志 2018-10-24 16:11:21 132608浏览量 回答数 20

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 157792浏览量 回答数 145

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 337136浏览量 回答数 8

2

回答

mySQL数据库报错You have an error in your SQL syntax

落地花开啦 2016-02-14 16:09:24 129295浏览量 回答数 2

38

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 259929浏览量 回答数 38

249

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 305731浏览量 回答数 249

23

回答

【精品问答合集】Redis热门问答

李博 bluemind 2019-05-29 16:36:15 127194浏览量 回答数 23

2

回答

区域选择帮助

fanyue88888 2012-12-07 15:54:30 204445浏览量 回答数 2

13

回答

【精品问答合集】Java热门问答

李博 bluemind 2019-05-29 16:00:45 125740浏览量 回答数 13
+关注
我的中国
R&S网络资深工程师 ,阿里云论坛官方版主,阿里云云计算ACP,春考教学网站长,IT技术晋级之路专辑作者
73
文章
3274
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载