并发问题 关于Redis

【吐槽】Jimesembria
付费请人解这个BUG , 有没有php同学有兴趣,(问题原因是理论上是5分钟内不生产同样金额的订单, 但是由于并发原因没控制好)
10:34:02
【话唠】ˇmonster-福 2018/8/28 10:34:02

昨晚帮你分析了,用redis是最好的。。
【活跃】Mcode 2018/8/28 10:34:12

我刚刚想说的@ˇmonster-福州
【活跃】Mcode 2018/8/28 10:34:22

用redis

Jimesembria撤回了一条消息
10:35:15
【传说】小林-厦 2018/8/28 10:35:15

设备?
【吐槽】Jimesembri 2018/8/28 10:35:21

【吐槽】Jimesembri 2018/8/28 10:35:37

php没有这种限流算法吗?
【吐槽】Jimesembri 2018/8/28 10:37:08

@小林-厦门 要多管理个应用。
【话唠】ˇmonster-福 2018/8/28 10:37:09

限流算法肯定是可以的,但是你怎么保证一个令牌不会同时被两个人查走?
10:37:33
【话唠】ˇmonster-福 2018/8/28 10:37:33

最终还是要用redis,队列之类的来保证原子操作
【吐槽】Jimesembri 2018/8/28 10:37:34

所以就需要CAS做并发控制。
【话唠】ˇmonster-福 2018/8/28 10:38:12

cas不是做单点登录的么
【吐槽】Jimesembri 2018/8/28 10:38:47

CAS Compare And Swap
【吐槽】Jimesembri 2018/8/28 10:39:09

有点类似于乐观锁
10:39:39
【吐槽】Jimesembri 2018/8/28 10:39:39

CAS就是一直尝试, 比较是不是期望的值, 然后再替换。
【话唠】ˇmonster-福 2018/8/28 10:39:48

既然你有思路了,那就去实现吧
【吐槽】Jimesembri 2018/8/28 10:40:15

不懂php 所以需要咨询下php有没有这种实现方式。

Jimesembria撤回了一条消息
【吐槽】Jimesembri 2018/8/28 10:41:18

php有没有办法多个并发公用一段内存空间?
【话唠】ˇmonster-福 2018/8/28 10:41:37

用。有扩展
10:41:50
【潜水】Y 2018/8/28 10:41:50

php队列实现的不好,所以一般这东西都习惯用redis来控制,能做到先入先出的原则,保持一致性
【吐槽】Jimesembri 2018/8/28 10:42:13

用redis确实是可以实现这个功能的。
【话唠】ˇmonster-福 2018/8/28 10:42:51

shmop 共享内存扩展。。用起来更麻烦。还是redis最方便也最好用。
【吐槽】Jimesembri 2018/8/28 10:43:08

好吧。 如果实在不行就只能用redis了。
【吐槽】Jimesembri 2018/8/28 10:43:30

@ˇmonster-福州 谢谢了。
【潜水】Y 2018/8/28 10:43:36

不是实在不行用redis,而是用别的不一定比redis更好

并发问题 关于Redis的更多相关文章

  1. java高级精讲之高并发抢红包~揭开Redis分布式集群与Lua神秘面纱

    java高级精讲之高并发抢红包~揭开Redis分布式集群与Lua神秘面纱 redis数据库 Redis企业集群高级应用精品教程[图灵学院] Redis权威指南 利用redis + lua解决抢红包高并 ...

  2. golang 并发demo 写入 redis

    原文链接:golang 并发demo 写入 redis 源代码: package main import ( "fmt" "runtime" "str ...

  3. 高并发简单解决方案————redis队列缓存+mysql 批量入库(ThinkPhP)

    问题分析 问题一:要求日志最好入库:但是,直接入库mysql确实扛不住,批量入库没有问题,done.[批量入库和直接入库性能差异] 问题二:批量入库就需要有高并发的消息队列,决定采用redis lis ...

  4. 【高并发架构】Redis缓存高并发之-主从架构

    Redis主从架构 到目前为止,Redis Cluster 能实现很好的性能,但如果只是缓存几个G的数据,那么单机Redis就足够了,但缓存主要用来读的,单机的QPS有一定的极限,一两万QPS一台应该 ...

  5. 【高并发架构】Redis特点及构件模型

    数据结构 redis 相比 memcached 来说,拥有更多的数据结构,能支持更丰富的数据操作.如果需要缓存能够支持更复杂的结构和操作, redis 会是不错的选择. redis 主要有以下几种数据 ...

  6. 多线程并发问题解决之redis锁

    一 问题背景 我们做的是医疗信息化系统,在系统中一条患者信息对医院中当前科室中的所有诊断医生是可见的,当有一个诊断医生点击按钮处理该数据时,数据的状态发生了变化,其他的医生就不可以再处理此患者的数据了 ...

  7. 应对高并发场景的redis加锁技巧

    // 获取锁getLock() {    // 是否有正在执行的线程    boolean hasLock = false;    try {        hasLock = redisClient ...

  8. 总结:如何使用redis缓存加索引处理数据库百万级并发

    前言:事先说明:在实际应用中这种做法设计需要各位读者自己设计,本文只提供一种思想.准备工作:安装后本地数redis服务器,使用mysql数据库,事先插入1000万条数据,可以参考我之前的文章插入数据, ...

  9. redis并发问题

    redis中的并发问题 使用redis作为缓存已经很久了,redis是以单进程的形式运行的,命令是一个接着一个执行的,一直以为不会存在并发的问题,直到今天看到相关的资料,才恍然大悟~~ 具体问题实例 ...

随机推荐

  1. 程序包com.sun.istack.internal不存在

    添加一下依赖 <!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-impl --><dependency> ...

  2. Java socket - 使用代理服务器

    为什么使用代理服务器不需要多说了. 使用Proxy Java提供了Proxy类实现使用代理进行通信. Proxy类的构造器Proxy(Proxy.Type type, SocketAddress sa ...

  3. LeetCode第[22]题(Java):Generate Parentheses

    题目:制造括号序列 难度:Medium 题目内容: Given n pairs of parentheses, write a function to generate all combination ...

  4. WPF的外观装饰类——Border

    public class Border : System.Windows.Controls.Decorator 说明:在另一个元素的周围绘制边框.背景或同时绘制二者.

  5. ultraedit使用记录

    ultraedit使用记录 10:57:33 在日常的工作中,我经常用keil进行程序的编写等工作,不过在编写过程中Keil对中文的支持不是很好,容易发生问题:同事推荐我用ultraedit进行程序的 ...

  6. 0 与 “0" 与 '\0' 与 '0'相互之间的区别

    1. '\0'和‘0’都是字符,对应的ASCII值分别是0和48. 2. 0表示一个数字.也可以表示ASCII值,对应字符'\0'. 3. “0”表示字符串,第一个字符是'0'.

  7. 【Hive】窗口函数

    我们都知道在sql中有一类函数叫做聚合函数,例如sum().avg().max()等等, 这类函数可以将多行数据按照规则聚集为一行,一般来讲聚集后的行数是要少于聚集前的行数的. 但是有时我们想要既显示 ...

  8. 【python】self用法详解

    在介绍Python的self用法之前,先来介绍下Python中的类和实例我们知道,面向对象最重要的概念就是类(class)和实例(instance). 类是抽象的模板,比如学生这个抽象的事物,可以用一 ...

  9. 【lightoj-1094】树的直径(DFS)

    链接:http://www.lightoj.com/volume_showproblem.php?problem=1094 题意: 一共n各节点编号0-n-1, 输入n-1条无向边代表u-v距离为w, ...

  10. UICollectionView-网格视图

    1. UICollectionView 网格视图,除了提供与UITableView同样的功能显示一组顺序显示的数据,还支持多列的布局. 2. UICollectionView 使用 > 设置Co ...