分布式
文章平均质量分 64
Wolf-Z
思想需要记录
展开
-
基于redis实现分布式锁(单节点)
2、锁需要添加过期时间,并且获取锁和设置过期时间要保证原子性,这里使用Lua脚本(Lua脚本在redis执行是原子性的)执行【问题2】解锁时检查value值是否和当前线程的value一致,一致才能解锁【问题3】问题2:锁要有过期时间(一个线程获取锁后宕机,导致其它线程都获取不到锁)1、redis的SETNX是key不存在时,才能set成功【问题1】问题1:获取锁的唯一性(多个线程不能同时获取一个锁)2、多节点的分布式锁可使用redlock等框架实现。问题3:释放锁时,只能释放自己(本线程)创建的锁。原创 2023-04-10 16:16:48 · 771 阅读 · 0 评论 -
TraceId的正确使用姿势,提高日志排查效率
文章目录TraceID提高问题排查效率问题如何解决上代码Web接口在拦截器中注入traceIDRPC接口在RPC过滤器中注入traceIDprovider端consumer端在log4j2.xml中修改patternlog4j2依赖效果TraceID提高问题排查效率问题通常服务遇到问题,通过查询日志信息来定位bug,但是只能根据日志的关键信息来查询,查询信息不全,排查困难如何解决将traceID注入日志,查询的时候根据traceID查询出整个链路信息上代码Web接口在拦截器中注入traceI原创 2022-02-18 22:09:45 · 6307 阅读 · 5 评论 -
Redis
文章目录RedisRedis基本命令集合有序集合Redis事务错误处理WATCH 命令过期时间排序SORT 命令BY 参数GET 参数STORE参数性能消息发布订阅按照规则订阅管道节省存储空间查看键的内部编码方式String编码格式HASH编码格式列表类型编码格式集合类型编码格式有序集合编码格式脚本变量注释赋值操作符if语句循环语句表类型函数标准库String库Table库Math库其它库Redis与Lua脚本中调用redis命令脚本相关命令持久化RDB方式AOF方式集群复制配置原理从数据库持久化无硬盘复制原创 2020-09-16 16:36:13 · 251 阅读 · 0 评论