elunez / eladmin

eladmin jpa 版本:项目基于 Spring Boot 2.6.4、 Jpa、 Spring Security、Redis、Vue的前后端分离的后台管理系统,项目采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,支持一键生成前后端代码,支持动态路由
https://eladmin.vip/demo
Apache License 2.0
21.14k stars 7.34k forks source link

[代码优化] 添加支持配置的可回收用户缓存 #722

Closed Tiki-77 closed 2 years ago

Tiki-77 commented 2 years ago

添加了UserCacheManager类,封装了UserDetailsServiceImpl中的用户缓存,并添加了回收功能 支持的参数如下

user-cache:
  min-evictable-size #最小回收数(当缓存数量达到此值时进行回收)
  min-evictable-interval: #最小回收间隔
  min-idle-time: 最小存活时间 (ms)

缓存的触发在putIfAbsent上,当进行putIfAbsent操作时,如 达到最小回收数量且两次回收间隔大于最小回收间隔时会执行回收操作,回收过程中会清除掉存活时常大于最小存活时间的用户信息。