背景 今天群里有个小伙伴问rehash的事。翻看下源码,解密下rehash。 我们小了解下rehash是什么 rehash有两个目的: (扩容)扩容防止hash冲突后,形成链表带来的性能下降,时间复杂度提升(5倍容量后才扩容); (缩容)大量key被回收后,大量的空闲空间,通过rehash节省空间(1/10以下使用量才缩容); redis为了防止大的dict rehash的时候影响性能,使用了渐进式rehash(并不是一下子执行完,而是通过周期性能任务或访问dict的时候执行搬迁) 我们先把redis的数据结构摆上…

2022/03/27 0条评论 163点热度 1人点赞 阅读全文

aof相关配置 aof-rewrite-incremental-fsync yes # aof 开关,默认是关闭的,改为yes表示开启 appendonly no # aof的文件名,默认 appendfilename "appendonly.aof" # aof刷数据的策略,有no/everysec/aways appendfsync everysec no-appendfsync-on-rewrite no # aof超出配置大小的比例,模式是100%,可以理解为阈值 auto-aof-re…

2022/03/18 0条评论 198点热度 0人点赞 阅读全文

整理资料时,发现几年前的整理的问题问题排查手册,分享下。 生产问题处理的基本原则: 第一时间恢复业务(重点) 重启解决不了的问题,能回滚就回滚 如果业务不可逆,才是找问题的解决的时候(一旦到了这里,说明,大版本改动,没有做Bplan) 恢复业务后再去分析问题 执行top命令 重点查看 load averag 设 A(0.41近5分钟)B(0.32 近10分钟)C(0.32 近15分钟) 如:0.41 代表近5分钟的load值,第一个0.32 代表近10分钟的load值,第二个0.32代表近15分钟的load值; 假…

2022/02/28 0条评论 281点热度 0人点赞 阅读全文

这篇文章算是对之前系列的增强,将spring启动流程、@Configuration配置加载分析 、feign构建与调用全流程分析、hystrix源码分析 整体用两张图片串联起来。 feign 全流程分析 图片中主要分为以下几步: 从项目启动; refresh刷新上下文 解析 举例feign的装配,也可以看hystrix的装配(feign通过EnableAutoConfiguration自动装配),hystrix装配(用EnableAutoConfiguration和EnableCircuitBreaker),将Fe…

2022/01/14 0条评论 240点热度 0人点赞 阅读全文

在我计算key个value的空间的时候,发现我使用命令获取的和自己算的总是对不上。比如 命令行执行 local:0>set 5ycode yxkong "OK" local:0>OBJECT ENCODING 5ycode "embstr" local:0>DEBUG OBJECT 5ycode "Value at:0x7f9dc6a0e180 refcount:1 encoding:embstr serializedlength:7 lru:14…

2022/01/08 0条评论 263点热度 0人点赞 阅读全文

今天在拿U盘拷贝一个东西,发现了16年的一个工作笔记。我记得我是11月17日入职,入职以后就开始处理各种问题。简单的扫描了一眼,发现了一些问题,当时作为核心开发,视界还是不够宽。 1,一直在处理问题,遇到一个处理一个,并没有沉淀成知识推广出去; 2,缺少培养人的思维; 3,缺少规范流程; 4,当时没有就那些问题进行深入研究; 那个时候是真拼,除了保证自己有很高效率,还处理了这么多组内的问题,不过也是因为那两年的积累,才能在后来形成各种的规范和checklist。 时间 问题 备注 2015/11/18 修改协议空指…

2021/12/30 0条评论 272点热度 0人点赞 阅读全文

在hystrix中核心使用了响应式编程。不了解响应式编程的同学可能会看的云里雾里。 基本概念 官网上对rx的描述。 ReactiveX is a library for composing asynchronous and event-based programs by using observable sequences. It extends the observer pattern to support sequences of data and/or events and adds operators th…

2021/12/29 0条评论 263点热度 0人点赞 阅读全文

推文502 背景 前几周,运营做营销活动推文,推文后,我们我们没有收到任何的系统报警。业务反馈,用户进不去页面,有的还报502。what? 抓紧时间排查。 cpu 正常 网络链接正常(单机ng的有效链接1000,单机流量200mb) 链路请求正常(10分钟内超过2秒的接口不到1000条,大部分还都是银行卡相关的) 数据库也正常 都正常啊,怎么就502了?看下ng的超时日志,最近10分钟内,单机也就几百个,不应该怎么慢啊。 不对,突然想起来在打开后端系统的有点卡顿。 难道是网络带宽耗尽了? 马上找运维看了下公网带宽,…

2021/12/26 0条评论 277点热度 0人点赞 阅读全文

最近遇到了一些生产问题涉及到了hystrix,想要了解下底层的原理。hystrix中大量运用了Rxjava的响应式编程,不懂Rxjava,理解起来有点费劲。 基本准备 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchem…

2021/12/25 0条评论 233点热度 0人点赞 阅读全文

在之前的redis源码阅读三-终于把主线任务执行搞明白了和redis源码阅读五-为什么大量过期key会阻塞redis?梳理了redis的整体处理流程和redis的定期清理。都没有说到redis的过期策略。这次我来探究一下。 我们都知道redis的缓存淘汰策略有以下几种: noeviction 无过期策略,内存满了就直接异常 volatile-lru 对有过期时间的key进行lru淘汰(越长时间没有被访问,越容易被淘汰) allkeys-lru 对全局的key按LRU进行淘汰(越长时间没有被访问,越容易被淘汰) vo…

2021/12/24 0条评论 241点热度 0人点赞 阅读全文
123458
watchseries tv series freewatch series tv seriesWatch Eternals 2021 Free OnlineWatch Shang-Chi and the Legend of the Ten Rings 2021 Free OnlineWatch Against the Ice 2022 Free Online