自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 es的倒排索引结构理解

首先倒排索引由 词项索引(termIndex),词项字典(termDict),postingList(实际文档ID)在使用分词搜索小米手机的时候,文档3会命中2个字典 ,那么文档3的score就会很高,就会比较靠前;termIndex存储的不是所有的term,而是term的前缀,用于快速定位term;顾名思义,是词项字典的一个索引,用于快速定位词项字典。数据结构使用的是FST,就当成是一棵树理解就可以。具体的记分算法可以百度,这里就做扩展;词项字典存储的是所有的分词;存储的是命中字典的文档ID;

2025-06-03 12:58:53 221

原创 消息队列的使用场景

流量削峰: 如果一个业务突然请求很多,但是服务扛不住那么多,就可以使用消息队列来进行削峰进行慢速处理;异步: 同步操作比较耗时使用异步处理 or 不关心结果的时候可以使用;解耦: 应用之前同步操作使用MQ进行异步操作解耦;

2025-06-03 02:33:16 99

原创 mysql优化的几个方向

3.尽量不要使用text和二进制字段,如果必要使用外表存储;4.在创建索引的时候尽量选择查询频率比较高/重复率低的字段;1.尽量使用values批量插入,不要一个一个插入;2.数据量大的时候可以先不创建索引;5.主键能自增就自增,避免页分裂;2.尽量不要设置冗余字段;1.设置合理的字段类型;

2025-06-03 01:47:46 219

原创 redis的缓存穿透/缓存击穿/缓存雪崩/缓存未命中

缓存击穿网络上大部分文章都描述的是热点key,因为只有在热点key高并发情况下,缓存击穿才是问题,如果一个数据只有一两个情况也根本不会影响什么,但是一般使用缓存也可能是热点数据;建议2: 如果项目真的并发特别高,建议使用分布式锁来一次性解决缓存穿透和缓存击穿问题,因为在开发写代码的时候是无法提前感知到是缓存穿透还是缓存击穿。一般情况下: 设置成null就可以解决,但是如果一个key 在一秒内查询1W次,依然会打崩数据库,这个高并发情况下;缓存雪崩: 大量key在一定时间内同时触发了缓存击穿。

2025-06-03 01:37:20 181

原创 redis的过期策略

redis在key过期的时候是不会删除的,会执行惰性删除。

2025-06-03 01:12:52 90

原创 redis的内存淘汰策略

lru 最近最少使用,某个key上次获取时间距离当前时间越远越有可能被删除;lfu 最少频率使用, 某个key在一定时间内访问次数越少越有可能被删除;在redis内存不足的时候触发内存淘汰策略。

2025-06-03 01:10:36 145

原创 redis的应用场景

2025-06-03 01:01:57 81

原创 nacos配置中心动态刷新机制

使用原来,使用@scope在ioc里会被注册成scopeBean,在接收到事件的时候会销毁bean重新生成,销毁生成会重新走一遍生命周期并会带来额外的负担,对有状态的bean不友好;推荐使用这种,在接收到事件的时候调用set方法重新赋值配置。@RefreshScope 配置@value使用。

2025-06-02 22:41:03 294

原创 nacos服务实例健康检查机制

由nacos主动探活,每隔20S探测一下,如果不健康设置为不健康状态,不会移除,永久存在;由客户端发送心跳,每隔5S发送心跳,超过15S认为不健康,超过30S移除实例,

2025-06-02 22:34:49 180

原创 springboot配置文件的优先级以有nacos为例

nacos>系统级别(命令行 环境变量)> jar包外部(config目录>同级)>jar包内部(config目录>同级)同名配置properties>yaml>yml。配置文件的加载优先级。

2025-06-02 22:31:06 166

原创 spring事务的传播机制

required_new 父子事务可以独立回滚,nested使用savepoint父事务如果回滚子事务也会回滚。nested:嵌套事务,如果有事务就执行嵌套事务,使用数据的savepoint;support: 如果有事务就加入当前事务,如果没有就以无事务的方式执行;support_not: 如果有事务就挂起当前事务,以无事务的方式执行;required:默认 如果有事务就加入该事务,如果没有就创建新事物。never: 以无事务的方式执行,如果有事务抛出异常;

2025-06-02 22:28:25 133

原创 redis保持数据一致性

强一致性 低性能:使用读写锁,在写操作中加锁修改数据库和缓存;强一致性 高性能:阿里的canal,监控binlog。弱一致性 高性能:延迟双删。

2025-06-02 22:19:25 110

原创 mysql索引失效

由优化器决定的场景;

2025-06-02 22:17:25 106

原创 2025年 工作日 周末 法定节假日 数据json

2025年 工作日 周末 法定节假日 数据json

2024-11-20 13:44:31 1096

原创 2024年 工作日 周末 法定节假日 数据json

【代码】2024年 工作日 周末 法定节假日 数据json。

2023-12-06 14:59:17 2371 3

原创 使用Redis和Lua脚本实现分布式限流--令牌桶策略

使用Redis和Lua脚本实现分布式限流--令牌桶策略

2022-08-31 14:27:29 1355 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除