摘要: 查明原因是序列化转换的问题,每个类型都有对应的序列化转换set和hash如下: redisTemplate.setValueSerializer(new StringRedisSerializer());Set<String> users =redisTemplate.opsForSet().mem 阅读全文
posted @ 2024-11-29 16:46 蓝海的bug本 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Springboot启动流程 初始化各种属性,加载成对象 读取环境属性(Environment) 系统配置(spring.factories) 参数(Arguments、application.properties) 创建Spring容器对象ApplicationContext,加载各种配置 在容器 阅读全文
posted @ 2024-08-05 15:30 蓝海的bug本 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 测试文件可以删除掉了,配置文件改一下后缀 修改pom 业务代码开发 添加自动配置类,并且加上spring.factories 到此为止就初步完成了,install到本地的maven仓库然后在使用的项目里加上依赖就行了 导入项目,并调用 定时任务报表开发 先做个表格的打印方法 表格右对齐的方式 左对齐 阅读全文
posted @ 2024-07-31 16:32 蓝海的bug本 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 自动配置原理 1、收集spring开发者的编程习惯,整理开发过程使用的常用技术列表——》技术集A 2、收集常用技术(技术集A)的使用参数,整理开发过程中每个技术的常用设置列表——》设置集B 3、初始化springboot基础环境,加载用户自定义的bean和导入的其他坐标,形成初始化环境 4、将技术集 阅读全文
posted @ 2024-07-30 16:02 蓝海的bug本 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 配置文件配置bean属性: 解耦与配置文件的直接绑定,绑定到属性类上 如果配置文件有值,取配置文件,没有值,取默认值 Cat在配置文件整个被注释了的话,还是会报空指针异常,所以要加上判空 再进行优化,只有加载代码的时候,才会加载指定的bean 再优化,它也不用直接加载成bean,去掉注解,在启动类上 阅读全文
posted @ 2024-07-29 14:30 蓝海的bug本 阅读(28) 评论(0) 推荐(0) 编辑
摘要: Bean的加载控制 Bean的加载控制指根据特定情况对bean进行选择性加载以达到适用于项目的目标。 那么哪些加载方式适用于编程的形式加载控制呢 控制的演示 注解形式控制bean加载 使用@conditional注解的派生注解设置各种组合条件控制bean的加载 有诸多子类的注释 @condition 阅读全文
posted @ 2024-07-25 15:49 蓝海的bug本 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 第一个加载方式: Xml: 声明和加载自定义的bean 声明第三方的bean 遍历bean名称(id) 如果不自定义id的话,会自动命名一个 Xml+注解: 对xml文件进行修改 配置第三方的bean 纯注解: FactoryBean 为什么会有这个需求呢,原因就是在return之前,可以做一些前置 阅读全文
posted @ 2024-07-17 17:14 蓝海的bug本 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 集群最佳实践 集群完整性问题 在redis的默认配置中,如果发现任意一个插槽不可用,则整个集群都会停止对外服务: 为了保证高可用特性,这里建议将cluster-require-full-coverage配置为false 集群带宽问题 集群节点之间会不断的互相ping来确定集群中其他节点的状态。每次p 阅读全文
posted @ 2024-06-24 15:50 蓝海的bug本 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 持久化配置 Redis的持久化虽然可以保证数据安全,但也会带来很多额外的开销,因此持久化请遵循下列建议: ① 用来做缓存的redis实例尽量不要开启持久化功能 ② 建议关闭RDB持久化功能,使用AOF持久化(RDB的数据安全性一直是有问题的,两次RDB的时间比较长,又不能频繁的RDB,因为耗时久而且 阅读全文
posted @ 2024-06-21 14:55 蓝海的bug本 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 大量数据的导入的方式 Redis提供的批处理方案 M操作比Pipeline快,因为M操作是内部操作,原子操作,而Pipeline不是。 集群下的批处理 如MSET或Pipeline这样的批处理需要在一次请求中携带多条命令,而此时如果redis是一个集群,那批处理命令的多个key必须落在一个插槽中,否 阅读全文
posted @ 2024-06-13 14:20 蓝海的bug本 阅读(8) 评论(0) 推荐(0) 编辑