Spring Boot 3 集成 Redisson 时使用 @Cacheable 获取不到 KEY 的原因是什么?

Springboot3集成Redisson,使用@Cacheable获取不到KEY.
继承AbstractValueAdaptingCache类重写lookup方法时,发现入参为null

@Cacheable(key = "'cache_uid_' + #uid", value = "user")
    public User getUserInfo(String uid) {
        User user = userMap.get(uid);
        ThreadUtil.sleep(1000);
        logger.info("获取用户信息:{}", user.toString());
        return user;
    }
@SpringBootTest(classes = CacheApplication.class)
public class CacheTest {

    @Autowired
    private UserService userService;

    @Test
    public void testCacheSizeAndWeightLimit() {
        for (int i = 0; i < 10; i++) {
            userService.getUserInfo("x001");
        }
        userService.evictUserSync("x001");
        userService.getUserInfo("x001");
    }
}
public class RedisCaffeineCache extends AbstractValueAdaptingCache {


    @Override
    protected Object lookup(Object key) {

        System.out.println(key); //这里就成了cache_uid_null
        var cacheKey = buildKey(key);
        return null;
    }
}

看了半天没看出来什么结果,想知道一般会有什么问题导致
代码:cache项目地址
分支:develop-x

阅读 1.1k
1 个回答

包路径要扫描到

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏