随笔分类 -  redis学习

摘要:List<Object> list = masterRedisTemplate.executePipelined((RedisCallback<Long>) connection -> { StringRedisConnection redisConn = (StringRedisConnectio 阅读全文
posted @ 2022-03-17 15:29 CodingOneTheWay 阅读(459) 评论(0) 推荐(0) 编辑
摘要:分布式事务问题 背景 积分支付,需要查询用户积分; 商品扣减库存; 保存订单; 这些一定要保证一致性; 解决办法有 基于XA协议的两阶段提交 事务补偿机制 本地消息表+定时任务 MQ XA协议 一个事务管理器和多个资源管理器组成 提交分为两阶段 prepare commit 第一阶段 第二阶段 这个 阅读全文
posted @ 2022-02-10 23:19 CodingOneTheWay 阅读(54) 评论(0) 推荐(0) 编辑
摘要:超卖问题的解决 现象 一件商品,AB同时下单,扣减库存出了问题。A读到库存是1,B读到库存是1;AB同时更新数据库,更新为0,数据库中虽然是0了,但是产生了两笔订单。 解决办法:下沉到数据库扣减库存: 通过UPDATE语句,更新增量,通过UPDATE计算库存,用到了UPDATE行锁,其他的UPDAT 阅读全文
posted @ 2022-02-10 11:59 CodingOneTheWay 阅读(60) 评论(0) 推荐(0) 编辑
摘要:一:五种常用数据类型 简单动态字符串 redis做了一个用作字符串的SDS,除了一些不需要修改的场景,都是用SDS C字符串的底层实现总是一 个N+1个字符长的数组 sds.h: struct sdshdr { // buf 中已占用空间的长度 int len; // buf 中剩余可用空间的长度 阅读全文
posted @ 2022-01-26 00:13 CodingOneTheWay 阅读(135) 评论(0) 推荐(0) 编辑

回到顶部
点击右上角即可分享
微信分享提示