update 优化冗余分隔符

This commit is contained in:
AprilWind
2026-06-04 15:08:13 +08:00
parent f52bb99419
commit e08160afb6
13 changed files with 196 additions and 197 deletions
@@ -4,6 +4,7 @@ import cn.dev33.satoken.dao.auto.SaTokenDaoBySessionFollowObject;
import cn.dev33.satoken.util.SaFoxUtil;
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.redis.utils.RedisUtils;
import java.time.Duration;
@@ -24,13 +25,13 @@ import java.util.concurrent.TimeUnit;
public class PlusSaTokenDao implements SaTokenDaoBySessionFollowObject {
private static final Cache<String, Object> CAFFEINE = Caffeine.newBuilder()
// 设置最后一次写入或访问后经过固定时间过期
.expireAfterWrite(5, TimeUnit.SECONDS)
// 初始的缓存空间大小
.initialCapacity(100)
// 缓存的最大条数
.maximumSize(1000)
.build();
// 设置最后一次写入或访问后经过固定时间过期
.expireAfterWrite(5, TimeUnit.SECONDS)
// 初始的缓存空间大小
.initialCapacity(100)
// 缓存的最大条数
.maximumSize(1000)
.build();
/**
* 获取Value,如无返空
@@ -157,7 +158,7 @@ public class PlusSaTokenDao implements SaTokenDaoBySessionFollowObject {
@Override
public List<String> searchData(String prefix, String keyword, int start, int size, boolean sortType) {
String pattern = prefix + "*" + keyword + "*";
String cacheKey = pattern + start + ":" + size + ":" + sortType;
String cacheKey = pattern + start + StringUtils.COLON + size + StringUtils.COLON + sortType;
return (List<String>) CAFFEINE.get(cacheKey, k -> {
Collection<String> keys = RedisUtils.keys(pattern);
List<String> list = new ArrayList<>(keys);
@@ -179,8 +180,8 @@ public class PlusSaTokenDao implements SaTokenDaoBySessionFollowObject {
/**
* 写入缓存值并刷新本地缓存。
*
* @param key 缓存键
* @param value 缓存值
* @param key 缓存键
* @param value 缓存值
* @param timeout 超时时间
*/
private void writeValue(String key, Object value, long timeout) {