常用软件清单

谷歌浏览器 clash https://github.com/Dreamacro/clash/releases terminal 应用商店 draw.io 应用商店 powershell https://github.com/PowerShell/PowerShell wsl2 ubuntu 子系统 choco oh-my-posh choco install neovim choco install lsd choco install hugo Hach Nerd 字体 链接: https://pan.baidu.com/s/1Cts0PCJeeB8Nb3gO7laeRA 提取码: t49r windows docker desktop https://www.docker.com/products/docker-desktop/ vscode java ruby go localsend 局域网文件传输,最好用,没有之一 https://localsend.org/#/download cpu 内存等监控 qq 音乐 洛雪音乐 https://github.com/lyswhut/lx-music-desktop Bandzip 压缩软件 https://www.bandisoft.com/bandizip/ BCUninstall 卸载工具 https://github.com/Klocman/Bulk-Crap-Uninstaller

SpringBoot 与 RabbitMQ 集成和高级用法

简单示例 项目结构 依赖 配置 生产者 消费者 消息的可靠投递示例 confirm return 消费者确认机制 消费端限流 TTL 单条消息 整个队列设置 TTL 死信队列 死信队列的实现步骤 延迟队列 消息幂等设计 简单示例 项目结构 依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <dependency>

MQ 的基本概念和五种模式使用示例

概念 MQ 全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信。 无 MQ 有 MQ 优势 应用解耦 系统的耦合性越高,容错性就越低,可维护性就越低 异步提速 如图所示,在没有 MQ 的情况

Redis 内存清理策略

三种清触策略 针对设置了过期时间的 key 针对所有的 key 不处理 LRU 算法(Least Recently Used,最近最少使用) LFU 算法(Least Frequently Used,最不经常使用) 实际应用 三种清触策略 被动清除 当读写一个已经过期的 key 时,会触发

redis 使用规范与性能优化

目录 键的设计 value 设计 拒绝 bigkey (强制) bigkey 的危害: bigKey 的产生 如何优化 bigkey 选择合适的数据类型 控制 key 的生命周期,redis 不是垃圾桶 命令的使用 关注元素数量 禁用危险命令 批量操作提升效率 不建议使用自带事务 客户端的使用 避免

nvim与操作系统剪贴板互通

为了能够在 Windows 上使用系统剪贴板,您需要安装win32yank应用程序。您可以从这里下载。之后,您需要将剪贴板设置 vim 脚本 set clipboard+=unnamedplus lua 脚本 vim.opt.clipboard = "unnamedplus"

Redis缓存击穿和穿透以及雪崩

缓存穿透 缓存穿透问题解决方案 缓存空对象 布隆过滤器 redisson 实现布隆过滤器 引入依赖 预先放入数据 使用 缓存击穿 缓存雪崩 预防和解决方案 热点key的重建优化 缓存穿透 缓存穿透指的是查询一个根本不存在的数据,缓存层和存储层

Redis 的主从和哨兵以及集群架构

Redis 的主从架构 主从架构搭建步骤 1. 添加从节点 复制一份 redis.conf 文件,将相关配置修改如下: # 如果在不同机器上部署,端口可以不用修改 port 6380 # 把 pid 进程号写入 pidfile 配置的文件 pidfile /var/run/redis_6380.pid logfile "6380.log" # 指定数据存放目录 dir /usr/local/redis-5.0.3/data/6380 # 需要注释掉 bind # bind 12

redis基础配置和持久化

redis 的单线程和和高性能 redis 是单线程的吗 Redis 的单线程主要是指网络 IO 和键值对读写是由一个线程完成的,这也是 Redis 对外提供键值存储服务的主要流程。但 Redis 的其他功能,比如:持久化,异步删除,集群数据同步等,其实是由额外的

Redis中渐进式遍历key

为什么需要渐进式遍历key 有时候需要从 Redis 实例成千上万的 key 中找出特定前缀的 key 列表来手动处理数据,可能是修改它的值,也可能是删除 key。这里就有一个问题,如何从海量的 key 中找出满足特定前缀的 key 列表来? Redis 提供

2023

我的 2023 代办 五月 开始看 B 站教学视频 视频看完,示例代码敲完 五月底完成 当前进度:【22 / 53】 RabbitMQ 技能,输出至少 3 篇博客 RocketMQ 技能, 输出至少 2 篇博客, 五月底完成, 当前进度: 【1/2】 五分月跳绳次数 15 次,每次至少 30

常用工具备忘

查看项目依赖 gradle: gradle dependencies maven: mvn dependency:tree 排除依赖 不需要某个依赖或者需要替换掉某依赖时,就需要把这个依赖排除: 以Spring Boot的Web起步依赖为例,它传递依赖了Jackson JSON库。如果你正在构建一个生产或消

AOP 的使用

声明切点@Poincut 把切点声明成一个方法,便于重用 @Poincut 的使用格式如下: @Poincut("PCD") // 切点表达式 表示对哪些方法进行增强 public void pc(){} // 切点签名,返回值必须为 void 10 种切点表达式 AspectJ 的切点指示符 AspectJ pointcut designators (PCD) ,也就是俗称的切点表达式

面向切面的Spring

横切关注点 散播应用中多处的功能被称为横切关注点 安全就是一个关注点,每个方法或者类都需要注重安全 方法参数日志记录也是一个关注点 以及事务管理 横切关注点从概念上讲是与业务分离的,但往往会直接嵌入到业务中 多个

spring 如何解决循环依赖

什么是循环依赖 A 类中有一个属性 B ,也就是说 A 依赖 B,同时 B 类中有一个属性 A, 也就是说 B 依赖 A. 他们之间的依赖关系形成了环。就是我们说的循环依赖,如下图: 循环依赖示例 public class CircularDependenciesDemo { public static void main(String[] args) { new A1(); } } class A1 { private B1 b1;