将Bean放入Spring容器中的一些方式

将Bean放入Spring容器中的一些方式我们知道平时在开发中使用Spring的时候,都是将对象交由Spring去管理,那么将一个对象加入到Spring容器中,有哪些方式呢,下面我就来总结一下1、@Configuration + @Bean这种方式其实,在上一篇文章已经介绍过了,也是我们最常用的一种方式,@Configuration用来声明一个配置类,然后使用 @Bean 注解,用于声明一个bea

- 阅读全文 -

mongodb 设置自动删除过期数据

mongodb 设置自动删除过期数据MongoDB的集合有衣蛾 TTL (即 time to live,即生存的时间) 的特性。TTL可以让mongodb自动移除过期了的数据,(咦,这岂不是正好符合日志类的数据诉求)。这种机制便比较适合一些 日志数据 机器产生的事件数据 甚至可以用来做 session会话 。MongoDB 通过一个 TTL 索引来实现这种所谓的 TTL 集合。该特性的实现机制是:

- 阅读全文 -

线程池之ThreadPool与ForkJoinPool

一、 ThreadPool Executor一个线程池包括以下四个基本组成部分:1、线程池管理器(ThreadPool):用于创建并管理线程池,包括 创建线程池,销毁线程池,添加新任务;2、工作线程(PoolWorker):线程池中线程,在没有任务时处于等待状态,可以循环的执行任务;3、任务接口(Task):每个任务必须实现的接口,以供工作线程调度任务的执行,它主要规定了任务的入口,任务执行完后的

- 阅读全文 -

SpringBoot项目中使用分布式锁

一,Redis实现1,利用redis 客户端手动实现主要使用setnx 以及lua来实现。(不推荐)2,利用redisson实现引入一下pom<dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifac

- 阅读全文 -

在程序中监听Redis Key 过期

通过开启key过期的事件通知,当key过期时,会发布过期事件;我们定义key过期事件的监听器,当key过期时,就能收到回调通知。注意:由于redis key过期删除是定时+惰性,当key过多时,删除会有延迟,回调通知同样会有延迟。且通知是一次性的,没有ack机制,若收到通知后处理失败,将不再收到通知。需自行保证收到通知后处理成功。通知只能拿到key,拿不到value使用场景1、实现延时队列    

- 阅读全文 -