有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在没有方法参数的方法上使用@cacheable注释的键

我有一个缓存方法和一个缓存逐出方法我想使用缓存键属性访问缓存,如何强制或锁定调用此方法的人使用相同的键

我试过这样的方法,但似乎不对。方法参数(cachekey)可以作为调用者所需的任何值传递

@Cacheable(value = "cacheNamex" , key ="#cachekey") 
    public   List  someCachableMethod(String cacheKey ) {
        List someList = someJdbctemplet.query(SOME_QUERY, someRowMapperObj);
        System.out.println(" data Returned from method");
        return someList;
    }
@CacheEvict((value = "cacheNamex" , key ="#cachekey") 
    public void someCacheEvictMethod(String cacheKey ){
           System.out.println("cache eviction called");
           System.out.println(" Expecting cache, cachex is cleared ");  }

共 (2) 个答案

  1. # 1 楼答案

    如果您的方法没有任何参数,只需将相同的方法名称作为键,并使用它退出:

    @Cacheable(value = "cacheNamex" , key ="'someCachableMethod'")
     public   List  someCachableMethod() {
     }
     @CacheEvict((value = "cacheNamex" , key ="'someCachableMethod'") 
     public void someCacheEvictMethod(){
    }