RedisCache中remove方法什么时候被调用

来源:5-3 Shiro缓存管理

慕UI8298708

2019-01-18 10:39

public V remove(K k) throws CacheException {

    byte[] key = getKey(k);
    byte[] value = jedisUtil.get(key);
    jedisUtil.delete(key);

    if (value != null) {
        return (V) SerializationUtils.deserialize(value);
    }
    return null;
}

这个remove是在我们调用

subject.logout();

时自动调用吗?显示我想实现用户退出后权限数据清空,再次登陆重新加载

写回答 关注

1回答

  • 金色年华ch
    2019-12-08 15:50:39

    应该不是subuject.logout() 清空缓存信息,从源码看logout只是删除session信息

    我从Shiro的CacheManager里面看了下,里面只有getChaceh方法,所以清空缓存应该是自己根据业务来判断是否需要清空缓存

    package org.apache.shiro.cache;
    
    public interface CacheManager {
        <K, V> Cache<K, V> getCache(String var1) throws CacheException;
    }


Shiro安全框架入门

从零入门Shiro安全框架

48036 学习 · 332 问题

查看课程

相似问题