java|java web 记录

定时任务

SpringBoot scheduling 使用方式,原理
Cron表达式
cron每位符号代表意思:*(秒) *(分钟) *(时) *(日) *(月) *(星期) *(年)
  • “*”:字符被用来指定所有的值
  • “?”:字符只在日期域和星期域中使用。它被用来指定“非明确的值”
  • -”:字符被用来指定一个范围。如:“10-12”在小时域意味着“10点、11点、12点”
  • “,”:字符被用来指定另外的值。如:“MON,WED,FRI”在星期域里表示”星期一、星期三、星期五”
  • “/”:字符用于指定增量
Mybaits
数据库框架
缓存
SqlSessionFactory、SqlSession
  1. 一级缓存、二级缓存,以及为什么使用springboot后一级缓存失效
拦截器
...
RabbitMQ
rabbitmq是消息中间件,其优点是:削峰、解耦、异步,其缺点是会增加服务的复杂性
消息类型有三种:点对点、广播、主题
Q & A
  • 如何保证rabbitmq的高可用性?
  • 如何保证消息的可靠?
    • 有两种实现方法,事务和手动确认。在生产端监听是否成功,消费端通过ack机制手动确认
  • 一致性和顺序性问题
Spring Security
spring出品的认证授权框架,同类框架shiro
UserDetail通过UserDetailService获取,可以实现这个类,UserDetail里拥有用户的角色,我们通过判断用户角色来决定他可访问资源.
核心是Authentication接口,框架通过Token来判断用户权限,所有的Token都实现于Authentication接口,一般我们在AuthenticationProvider里去创建
HttpSecurity可以添加AuthenticationProvider
Redis
记录redis常用的命令和遇到的问题
常用命令
trim 简介
对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除;
下标 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。
你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推
【java|java web 记录】使用技巧
trim(key, 1, 0) 清空所有vlaue
参考
  • Cron表达式生成器
  • @Scheduled注解使用

    推荐阅读