摘要:需要完成功能 借助redis Stream 数据结构实现消息队列,异步完成订单创建,其中涉及到了缓存(击穿,穿透,雪崩),锁(Redisson),并发处理,异步处理,Lua脚本 IDE:IDEA 2022 1、读取库存数据 【Lua】 2、判断库存 【Lua】 3、扣减库存 【Lua】 4、创建队列
阅读全文
摘要:Redis Streams tutorial | Redis xread命令有几个问题: 1、消息丢失的问题 2、消息多人重复读取 3、消息是否读取的状态标记 针对上面的问题,引出另一个概念,“消费者组"(consumber group),可以这么理解,stream 是水果生产基地,组就是中间批发商
阅读全文
摘要:概况 A Redis stream is a data structure that acts like an append-only log. You can use streams to record and simultaneously syndicate events in real tim
阅读全文
摘要:背景: 两张表,分别是 :sys_tbl,和 sys_field,其中:sys_tbl 是系统所有表的信息,包含两个字段 :code(表名),name(表描述信息);sys_fld 是记录第张表中的字段 的名称(field)和描述信息(table) , 截图如下: sys_tbl 其中,字段 名称包
阅读全文
摘要://异步阻塞队列变量 private BlockingQueue<VoucherOrder> orderTasks=new ArrayBlockingQueue<>(1024*1024); //create the thread pool signal thread private static f
阅读全文
摘要:public static final DefaultRedisScript<Long> SECKILL_SCRIPT; static { SECKILL_SCRIPT= new DefaultRedisScript<>(); SECKILL_SCRIPT.setLocation(new Class
阅读全文
摘要:同步:实时同步全过程,连续做几件事,从头到尾不管用多少时间,最后得到一个结果 (单人做战) 异步:异步状态跟踪,对于耗时较久的工作可以让别人去做(或者自己有时间再做),自己不关注过程,有结果通知自己就好 (多人做战) 阻塞:堵门,自己要的鸡蛋灌饼还没有做好,我就堵门等,后面人买烧饼(虽然有现货)对不
阅读全文
摘要:1、标识符 Names (also called identifiers) in Lua can be any string of letters, digits, and underscores, not beginning with a digit. Identifiers are used t
阅读全文
摘要:在开始之前 ,先把结论留下: 要想真正用于生产环境,推荐使用 Redisson 实现分布式锁! <dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.19.3</versio
阅读全文
摘要:package com.hmdp.utils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate;
阅读全文
摘要:此内容要在 前一篇 主从模式基础之上阅读 在主从模式的基础上增加 sentinel 主从模式的运行配置 conf配置文件 sentinel monitor mymaster 192.168.1.138 6385 2 192.168.1.138 6385 master2 重新选举时达到数量 s1/se
阅读全文
摘要:规划 Centos7 1、创建目录: mkdir 638{5,6,7} [root@machine138 redis-stack]# mkdir masterSlave [root@machine138 redis-stack]# cd masterSlave/ [root@machine138 m
阅读全文
摘要:两种方式: rdf :默认 save <seconds> <changes> 多长时间内 有几个操作就执行 后台save rdbcompression yes是否执行压缩 建议不开启,因为压缩会消耗CPU dbfilename dump.rdb数据文件名字 #####################
阅读全文
摘要:什么是缓存穿透 缓存穿透是指查询一个缓存中和数据库中都不存在的数据,导致每次查询这条数据都会透过缓存,直接查库,最后返回空。当用户使用这条不存在的数据疯狂发起查询请求的时候,对数据库造成的压力就非常大,甚至可能直接挂掉。 缓存穿透解决方案 解决缓存穿透的方法一般有两种,第一种是缓存空对象,第二种是使
阅读全文
摘要:环境: Linux 版本:CentOS 7集群部署之前先完成单机安装 stansalone准备echo 511 > /proc/sys/net/core/somaxconn下载Redis:redis-stack-server-6.2.6 https://redis.io/ 下载后上传到linux ,
阅读全文
摘要:环境: IDEA 2022 NACOS:2.2 nginx :1.22 CentOS7 springCloud 2021.0.5 Springboot 2.6.13 Spring-cloud-alibaba 2021.0.4.0 实现效果: 微服务配置信息(主要是application中的内容)实现
阅读全文
摘要:环境: centOS7 nacos-server-2.2.0.zip keepalived-2.2.7.tar.gz nginx-1.22.1.tar.gz Nginx+keepalived搭建高可用集群Nacos 实现思路: 1、安装nacos集群环境(已经完成)见上文 nacos 2.2.0 实
阅读全文
摘要:目标: 实现nginx 集群高可用,通过访问虚拟IP 地址完成nginx服务的请求,在 主nginx 服务器不能正常提供服务时,备份nginx服务器能自动完成服务接管。并邮件提醒管理员(此功能后续实现) 前提: 两台服务器IP 分别 为 192.168.1.137, 192.168.1.138,分别
阅读全文
摘要:consul 运行原理 集群模式中加入 Consul Client模式,Client因为加入了LAN gossip协议组成网络中(高速局域网),可以识别故障的Server节点并找到可用的Server节点继续工作,其实Server模式负责的是用WAN gossip协议组成的网络进行跨广域网的数据同步(
阅读全文
摘要:官网: https://spring.io/ 更多spring cloud zookeeper 参考 https://docs.spring.io/spring-cloud-zookeeper/docs/current/reference/html 左侧菜单 向下找到 spring Cloud Zo
阅读全文