文章分类 -  Redis

摘要:为了开发效率,使用redis去搭建消息队列是一个不错的选择:代码如下: <?php // 创建Redis连接 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); // 生产者推送消息 $redis->rPush('inbox', "me 阅读全文
posted @ 2024-12-08 17:50 Carver-大脸猫 阅读(24) 评论(0) 推荐(0) 编辑
摘要:常见的使用原因都是为了解决商品超卖导致的重复购买的问题 什么是分布式锁 分布式锁是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,这个 阅读全文
posted @ 2023-02-10 16:27 Carver-大脸猫 阅读(261) 评论(0) 推荐(0) 编辑
摘要:1. redis 加锁分类 redis能用的的加锁命令分表是INCR、SETNX、SET 2.第一种锁命令 incr 这种加锁的思路是, key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作进行加一。然后其它用户在执行 INCR 操作进行加一时,如果返回的数大于 1 , 阅读全文
posted @ 2023-01-29 15:37 Carver-大脸猫 阅读(961) 评论(0) 推荐(0) 编辑
摘要:总结一下php使用redis的有序集合zset实现延迟队列 将消息数据序列化,作为zset发基本元素,把 消息生产时间戳+消息处理延迟时间戳 作为score,每次通过 zRangeByScore获取一条消息进行处理,后通过zRem删除集合元素,相当于移除需要消费的Job,浅谈一下优点: 实现简单,适 阅读全文
posted @ 2022-08-28 18:23 Carver-大脸猫 阅读(261) 评论(0) 推荐(0) 编辑
摘要:对于一些有一定用户量的电商网站,如果只是单纯的使用关系型数据库(如MySQL、Oracle)来做抢购,对数据库的压力是非常大的,而且如果不使用好数据库的锁机制,还会导致商品、优惠券超卖的问题,利用redis的高性能和事务特性来解决线上优惠券被超库存抢购的问题,下面我给出我临时解决这个问题的第一版的伪 阅读全文
posted @ 2022-08-28 18:19 Carver-大脸猫 阅读(61) 评论(0) 推荐(0) 编辑
摘要:Redis 有 5 种基础数据结构,分别为:string (字符串)、list (列表)、set (集合)、hash (哈希) 和 zset (有序集合)。 Redis 所有的数据结构都是一个key对应一个value,不同类型的数据结构之间的差异就在于value的结构不同,例如string数据类型, 阅读全文
posted @ 2022-08-28 18:18 Carver-大脸猫 阅读(54) 评论(0) 推荐(0) 编辑
摘要:并发测试命令:安装apache ab -c 1000 -n 100 http://www.baidu.com/接口地址 请求1000次、每次有100个人同时请求 http://www.baidu.com/api 常规思路(优化&不推荐) // 业务逻辑: // 用户执行下单操作 // mysql 查 阅读全文
posted @ 2022-08-28 18:11 Carver-大脸猫 阅读(442) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up light_mode palette
选择主题