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();
时自动调用吗?显示我想实现用户退出后权限数据清空,再次登陆重新加载
应该不是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; }