Here are the examples of the java api org.springframework.data.redis.core.RedisTemplate.opsForValue() taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
155 Examples
19
View Complete Implementation : RedisClusterCache.java
Copyright Apache License 2.0
Author : gudaoxuri
Copyright Apache License 2.0
Author : gudaoxuri
@Override
public boolean setnx(String key, String value, long expireSec) {
return redisTemplate.opsForValue().setIfAbsent(key, value, expireSec, TimeUnit.SECONDS);
}
19
View Complete Implementation : RedisClusterCache.java
Copyright Apache License 2.0
Author : gudaoxuri
Copyright Apache License 2.0
Author : gudaoxuri
@Override
public boolean getBit(String key, long offset) {
return redisTemplate.opsForValue().getBit(key, offset);
}
19
View Complete Implementation : RedisCache.java
Copyright Apache License 2.0
Author : Ouyangan
Copyright Apache License 2.0
Author : Ouyangan
@Override
public V remove(K key) throws CacheException {
log.debug("redis cache remove :{}", key.toString());
V value = redisTemplate.opsForValue().get(shiro_cache_prefix + key);
redisTemplate.delete(key);
return value;
}
19
View Complete Implementation : CacheRedis.java
Copyright MIT License
Author : roncoo
Copyright MIT License
Author : roncoo
/**
* 单位分钟
*/
public <T> T set(Object key, T t, Integer time) {
if (t != null) {
redisTemplate.opsForValue().set(key, JSONUtil.toJSONString(t), time, TimeUnit.MINUTES);
}
return t;
}
19
View Complete Implementation : CacheRedis.java
Copyright MIT License
Author : roncoo
Copyright MIT License
Author : roncoo
/**
* 默认缓存5分钟
*/
public <T> T set(Object key, T t) {
if (t != null) {
redisTemplate.opsForValue().set(key, JSONUtil.toJSONString(t), MINUTE, TimeUnit.MINUTES);
}
return t;
}
19
View Complete Implementation : SystemServiceImpl.java
Copyright Apache License 2.0
Author : Ouyangan
Copyright Apache License 2.0
Author : Ouyangan
@Override
public void deleteDataItemById(Long id) {
SysDataItem sysDataItem = sysDataItemMapper.selectById(id);
redisTemplate.opsForValue().getOperations().delete(sysDataItem.getSysDataGroupId() + "-" + sysDataItem.getKeyName());
sysDataItemMapper.deleteById(id);
}
19
View Complete Implementation : RedisClusterCache.java
Copyright Apache License 2.0
Author : gudaoxuri
Copyright Apache License 2.0
Author : gudaoxuri
@Override
public long incrBy(String key, long incrValue) {
return redisTemplate.opsForValue().increment(key, incrValue);
}
19
View Complete Implementation : RedisClusterCache.java
Copyright Apache License 2.0
Author : gudaoxuri
Copyright Apache License 2.0
Author : gudaoxuri
@Override
public void setIfAbsent(String key, String value) {
redisTemplate.opsForValue().setIfAbsent(key, value);
}
19
View Complete Implementation : RedisClusterCache.java
Copyright Apache License 2.0
Author : gudaoxuri
Copyright Apache License 2.0
Author : gudaoxuri
@Override
public String get(String key) {
return redisTemplate.opsForValue().get(key);
}
19
View Complete Implementation : Pub_RedisUtils.java
Copyright MIT License
Author : 7040210
Copyright MIT License
Author : 7040210
/**
* 设置用户权限信息
*
* @param userId 用户ID
* @param resourceHashMap 用户权限信息MAP KEY为模块ID+类名+方法名
* @return
*/
public void setUserResource(long userId, HashMap<String, UserResourceDTO> resourceHashMap) {
ValueOperations<String, String> operations = redisTemplate.opsForValue();
if (redisTemplate.hasKey(USER_RESOURCE + userId)) {
redisTemplate.delete(USER_RESOURCE + userId);
}
operations.set(USER_RESOURCE + userId, pubTools.objectToJson(resourceHashMap));
}
19
View Complete Implementation : CacheRedis.java
Copyright MIT License
Author : roncoo
Copyright MIT License
Author : roncoo
/**
* 默认缓存5分钟
*/
public <T> T set(Object key, T t) {
if (t != null) {
redisTemplate.opsForValue().set(key, JSONUtil.toJSONString(t), MINUTE, TimeUnit.MINUTES);
}
return t;
}
19
View Complete Implementation : CacheRedis.java
Copyright MIT License
Author : roncoo
Copyright MIT License
Author : roncoo
public <T> T get(Object key, Clreplaced<T> clazz) {
if (redisTemplate.hasKey(key)) {
return JSONUtil.parseObject(redisTemplate.opsForValue().get(key).toString(), clazz);
}
return null;
}
19
View Complete Implementation : RedisSessionDao.java
Copyright Apache License 2.0
Author : Ouyangan
Copyright Apache License 2.0
Author : Ouyangan
@Override
public Collection<Session> getActiveSessions() {
Set<Serializable> keys = redisTemplate.keys(sessionIdPrefix_keys);
if (keys.size() == 0) {
return Collections.emptySet();
}
List<Session> sessions = redisTemplate.opsForValue().multiGet(keys);
return Collections.unmodifiableCollection(sessions);
}
19
View Complete Implementation : RedisClusterLock.java
Copyright Apache License 2.0
Author : gudaoxuri
Copyright Apache License 2.0
Author : gudaoxuri
/**
* 解锁.
* <p>
* 存在非原子操作,有误解锁可能!
*/
@Override
public boolean unLock() {
if (getCurrThreadId().equals(redisTemplate.opsForValue().get(key))) {
redisTemplate.delete(key);
return true;
} else {
return false;
}
}
19
View Complete Implementation : RedisCacheManager.java
Copyright Apache License 2.0
Author : Ouyangan
Copyright Apache License 2.0
Author : Ouyangan
@Override
public <K, V> Cache<K, V> getCache(String name) throws CacheException {
if (!StringUtils.hasText(name)) {
throw new IllegalArgumentException("Cache name cannot be null or empty.");
}
log.debug("redis cache manager get cache name is :{}", name);
Cache cache = (Cache) redisTemplate.opsForValue().get(name);
if (cache == null) {
cache = new RedisCache<>(redisTemplate);
redisTemplate.opsForValue().set(SystemConstant.shiro_cache_prefix + name, cache);
}
return cache;
}
19
View Complete Implementation : RedisClusterCache.java
Copyright Apache License 2.0
Author : gudaoxuri
Copyright Apache License 2.0
Author : gudaoxuri
@Override
public long decrBy(String key, long decrValue) {
return redisTemplate.opsForValue().increment(key, -decrValue);
}
19
View Complete Implementation : RedisCache.java
Copyright Apache License 2.0
Author : Ouyangan
Copyright Apache License 2.0
Author : Ouyangan
@Override
public V put(K key, V value) throws CacheException {
log.debug("根据key:{}从redis删除对象", key);
redisTemplate.opsForValue().set((K) (shiro_cache_prefix + key), value, timeout, TimeUnit.SECONDS);
return value;
}
19
View Complete Implementation : RedisClusterCache.java
Copyright Apache License 2.0
Author : gudaoxuri
Copyright Apache License 2.0
Author : gudaoxuri
@Override
public boolean setBit(String key, long offset, boolean value) {
return redisTemplate.opsForValue().setBit(key, offset, value);
}
19
View Complete Implementation : RedisClusterCache.java
Copyright Apache License 2.0
Author : gudaoxuri
Copyright Apache License 2.0
Author : gudaoxuri
@Override
public void set(String key, String value) {
redisTemplate.opsForValue().set(key, value);
}
19
View Complete Implementation : RedisClusterLock.java
Copyright Apache License 2.0
Author : gudaoxuri
Copyright Apache License 2.0
Author : gudaoxuri
@Override
public boolean tryLock() {
return redisTemplate.opsForValue().setIfAbsent(key, getCurrThreadId());
}
19
View Complete Implementation : RedisCache.java
Copyright Apache License 2.0
Author : Ouyangan
Copyright Apache License 2.0
Author : Ouyangan
@Override
public V get(K key) throws CacheException {
log.debug("根据key:{}从redis获取对象", key);
log.debug("redisTemplate : {}", redisTemplate);
return redisTemplate.opsForValue().get(shiro_cache_prefix + key);
}
19
View Complete Implementation : CacheRedis.java
Copyright MIT License
Author : roncoo
Copyright MIT License
Author : roncoo
public <T> List<T> list(Object key, Clreplaced<T> clazz) {
if (redisTemplate.hasKey(key)) {
return JSONUtil.parseArray(redisTemplate.opsForValue().get(key).toString(), clazz);
}
return null;
}
19
View Complete Implementation : RedisSessionDao.java
Copyright Apache License 2.0
Author : Ouyangan
Copyright Apache License 2.0
Author : Ouyangan
@Override
protected Session doReadSession(Serializable sessionId) {
log.info("read shiro session ,sessionId is :{}", sessionId.toString());
return redisTemplate.opsForValue().get(sessionId);
}
19
View Complete Implementation : CacheRedis.java
Copyright MIT License
Author : roncoo
Copyright MIT License
Author : roncoo
public <T> T get(Object key, Clreplaced<T> clazz) {
if (redisTemplate.hasKey(key)) {
return JSONUtil.parseObject(redisTemplate.opsForValue().get(key).toString(), clazz);
}
return null;
}
19
View Complete Implementation : RedisSessionDao.java
Copyright Apache License 2.0
Author : Ouyangan
Copyright Apache License 2.0
Author : Ouyangan
@Override
protected Serializable doCreate(Session session) {
Serializable sessionId = sessionIdPrefix + UUID.randomUUID().toString();
replacedignSessionId(session, sessionId);
redisTemplate.opsForValue().set(sessionId, session, timeout, TimeUnit.SECONDS);
log.info("create shiro session ,sessionId is :{}", sessionId.toString());
return sessionId;
}
19
View Complete Implementation : CacheRedis.java
Copyright MIT License
Author : roncoo
Copyright MIT License
Author : roncoo
public <T> T get(Object key, Clreplaced<T> clazz) {
if (redisTemplate.hasKey(key)) {
return JSONUtil.parseObject(redisTemplate.opsForValue().get(key).toString(), clazz);
}
return null;
}
19
View Complete Implementation : MailService.java
Copyright Apache License 2.0
Author : SanShanYouJiu
Copyright Apache License 2.0
Author : SanShanYouJiu
/**
* 发送验证码
*/
public void sendCode(String key, String email) {
String code = AuthCodeUtil.getCode(5);
String text = "您的验证码是 " + code + " 有效期是5分钟";
String subject = "sanshanblog验证码";
sendEmail(email, text, subject);
redisTemplate.opsForValue().set(key, code, 5, TimeUnit.MINUTES);
}
19
View Complete Implementation : RedisClusterLock.java
Copyright Apache License 2.0
Author : gudaoxuri
Copyright Apache License 2.0
Author : gudaoxuri
private boolean putLockKey(long leaseMillSec) {
return redisTemplate.opsForValue().setIfAbsent(key, getCurrThreadId(), leaseMillSec, TimeUnit.MILLISECONDS);
}
19
View Complete Implementation : CacheRedis.java
Copyright MIT License
Author : roncoo
Copyright MIT License
Author : roncoo
/**
* 默认缓存5分钟
*/
public <T> T set(Object key, T t) {
if (t != null) {
redisTemplate.opsForValue().set(key, JSONUtil.toJSONString(t), MINUTE, TimeUnit.MINUTES);
}
return t;
}
19
View Complete Implementation : SystemServiceImpl.java
Copyright Apache License 2.0
Author : Ouyangan
Copyright Apache License 2.0
Author : Ouyangan
@Override
public void updateDateItem(SysDataItem sysDataItem) {
redisTemplate.opsForValue().getOperations().delete(sysDataItem.getSysDataGroupId() + "-" + sysDataItem.getKeyName());
sysDataItemMapper.update(sysDataItem);
}
19
View Complete Implementation : MailService.java
Copyright Apache License 2.0
Author : SanShanYouJiu
Copyright Apache License 2.0
Author : SanShanYouJiu
/**
* 注册后发送验证邮件
*
* @param email 邮箱
*/
public void sendRegister(String email) {
String token = DigestUtils.sha256Hex(email + System.currentTimeMillis());
String text = "您的验证链接为:" + mailPrefix + "?token=" + token;
String subject = "sanshanblog注册验证";
sendEmail(email, text, subject);
redisTemplate.opsForValue().set(token, email, 2L, TimeUnit.HOURS);
}
19
View Complete Implementation : RedisCache.java
Copyright Apache License 2.0
Author : Ouyangan
Copyright Apache License 2.0
Author : Ouyangan
@Override
public Collection<V> values() {
Set<K> keys = redisTemplate.keys((K) shiro_cache_prefix_keys);
log.debug("获取所有缓存对象的value");
if (keys.size() == 0) {
return Collections.emptySet();
}
List<V> vs = redisTemplate.opsForValue().multiGet(keys);
return Collections.unmodifiableCollection(vs);
}
19
View Complete Implementation : RedisLockUtil.java
Copyright Apache License 2.0
Author : SanShanYouJiu
Copyright Apache License 2.0
Author : SanShanYouJiu
/**
* 获得 lock.
*
* 实现思路: 主要是使用了redis 的setnx命令,缓存了锁.
* reids缓存的key是锁的key,所有的共享, value是锁的到期时间(注意:这里把过期时间放在value了,没有时间上设置其超时时间)
* 执行过程:
* 1.通过setnx尝试设置某个key的值,成功(当前没有这个锁)则返回,成功获得锁
* 2.锁已经存在则获取锁的到期时间,和当前时间比较,超时的话,则设置新的值
*
* @return true if lock is acquired, false acquire timeouted
* @throws InterruptedException in case of thread interruption
*/
public synchronized boolean lock() throws InterruptedException {
long timeout = timeoutMsecs;
while (timeout >= 0) {
long expires = System.currentTimeMillis() + expireMsecs + 1;
// 当前设置的锁到期时间
String currentExpiresTimeValue = String.valueOf(expires);
if (redisTemplate.opsForValue().setIfAbsent(lockKey, currentExpiresTimeValue)) {
// lock acquired
locked = true;
expireTimeThreadLocal.set(currentExpiresTimeValue);
return true;
}
// redis里的时间
String lockExpireTimeValue = redisTemplate.opsForValue().get(lockKey);
// 判断是否为空,不为空的情况下,如果被其他线程设置了值,则第二个条件判断是过不去的
if (lockExpireTimeValue != null && isTimeExpired(lockExpireTimeValue)) {
// 获取上一个锁到期时间,并设置现在的锁到期时间
String oldLockExpireTimeValue = redisTemplate.opsForValue().getAndSet(lockKey, currentExpiresTimeValue);
// 只有一个线程才能获取上一个线上的设置时间,因为jedis.getSet是同步的
if (oldLockExpireTimeValue != null && oldLockExpireTimeValue.equals(lockExpireTimeValue)) {
// 防止误删(覆盖,因为key是相同的)了他人的锁——这里达不到效果,这里值会被覆盖,但是因为相差了很少的时间,所以可以接受
// [分布式的情况下]:如过这个时候,多个线程恰好都到了这里,但是只有一个线程的设置值和当前值相同,他才有权利获取锁
// lock acquired
locked = true;
expireTimeThreadLocal.set(currentExpiresTimeValue);
return true;
}
}
timeout -= DEFAULT_ACQUIRY_RESOLUTION_MILLIS;
/*
延迟100 毫秒, 这里使用随机时间可能会好一点,可以防止饥饿进程的出现,即,当同时到达多个进程,
只会有一个进程获得锁,其他的都用同样的频率进行尝试,后面有来了一些进行,也以同样的频率申请锁,这将可能导致前面来的锁得不到满足.
使用随机的等待时间可以一定程度上保证公平性
*/
Thread.sleep(DEFAULT_ACQUIRY_RESOLUTION_MILLIS);
}
return false;
}
19
View Complete Implementation : RedisClusterCache.java
Copyright Apache License 2.0
Author : gudaoxuri
Copyright Apache License 2.0
Author : gudaoxuri
@Override
public void setex(String key, String value, long expireSec) {
redisTemplate.opsForValue().set(key, value, expireSec, TimeUnit.SECONDS);
}
19
View Complete Implementation : RedisClusterCache.java
Copyright Apache License 2.0
Author : gudaoxuri
Copyright Apache License 2.0
Author : gudaoxuri
@Override
public String getSet(String key, String value) {
return redisTemplate.opsForValue().getAndSet(key, value);
}
19
View Complete Implementation : Pub_RedisUtils.java
Copyright MIT License
Author : 7040210
Copyright MIT License
Author : 7040210
/**
* 设置用户菜单
*
* @param userId 用户主键
* @param menuList 用户菜单列表
*/
public void setUserMenu(long userId, List<UserMenuDTO> menuList) {
ValueOperations<String, String> operations = redisTemplate.opsForValue();
if (redisTemplate.hasKey(USER_MENU + userId)) {
redisTemplate.delete(USER_MENU + userId);
}
if (null == menuList) {
redisTemplate.delete(USER_MENU + userId);
} else {
operations.set(USER_MENU + userId, pubTools.objectToJson(menuList));
}
}
19
View Complete Implementation : RedisLockUtil.java
Copyright Apache License 2.0
Author : SanShanYouJiu
Copyright Apache License 2.0
Author : SanShanYouJiu
/**
* 释放 lock.
*/
public synchronized void unlock() {
String currentValueStr = redisTemplate.opsForValue().get(lockKey);
// 锁对应的时间未过期,且被锁,但不一定是该线程锁住的,所以不能轻易释放该锁
if (currentValueStr != null && !isTimeExpired(currentValueStr)) {
// 如果当前锁中的过期时间与该线程的threadLocal本地变量中的时间相同,则表示该锁正在被该线程锁住,则该线程可以释放lock。
String expireTimeStr = expireTimeThreadLocal.get();
if (currentValueStr.equals(expireTimeStr) && locked) {
redisTemplate.delete(lockKey);
locked = false;
}
}
}
18
View Complete Implementation : Pub_RedisUtils.java
Copyright MIT License
Author : 7040210
Copyright MIT License
Author : 7040210
/**
* 根据会话消息ID获取用户信息
*
* @param messageId 会话消息ID
* @return
*/
public BaseToken getSessionInfo(String messageId) {
if (StringUtils.isNotBlank(messageId)) {
ValueOperations<String, String> operations = redisTemplate.opsForValue();
boolean exists = redisTemplate.hasKey(messageId);
if (exists) {
return pubTools.jsonToObject(operations.get(messageId), BaseToken.clreplaced);
}
}
return null;
}
18
View Complete Implementation : RedisSessionDao.java
Copyright Apache License 2.0
Author : Ouyangan
Copyright Apache License 2.0
Author : Ouyangan
@Override
public void update(Session session) throws UnknownSessionException {
log.info("update shiro session ,sessionId is :{}", session.getId().toString());
redisTemplate.opsForValue().set(session.getId(), session, timeout, TimeUnit.SECONDS);
}
18
View Complete Implementation : Pub_RedisUtils.java
Copyright MIT License
Author : 7040210
Copyright MIT License
Author : 7040210
/**
* 根据第三方TOKEN信息获取公司主键
*
* @param messageId 第三方消息ID
* @return
*/
public Long getPkGroupByOtherMessageId(String messageId) {
if (StringUtils.isNotBlank(messageId)) {
ValueOperations<String, String> operations = redisTemplate.opsForValue();
boolean exists = redisTemplate.hasKey(messageId);
if (exists) {
String token = operations.get(messageId);
return getPkGroupByOtherToken(token);
}
}
return null;
}
18
View Complete Implementation : AuthController.java
Copyright Apache License 2.0
Author : SanShanYouJiu
Copyright Apache License 2.0
Author : SanShanYouJiu
@PostMapping(value = "/register", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ResponseMsgVO register(UserDO addedUser, @RequestParam(name = "codeid") String codeid, @RequestParam(name = "code") String code) {
ResponseMsgVO responseMsgVO = new ResponseMsgVO();
// 验证码检查
String codeValue = redisTemplate.opsForValue().get(ConstanceCacheKey.CODE_ID_PREFIX + codeid);
if (!code.equalsIgnoreCase(codeValue)) {
return responseMsgVO.buildWithMsgAndStatus(PosCodeEnum.PARAM_ERROR, "验证码错误");
}
// 合法性检查
if (!userService.checkPreplacedWordLegal(addedUser.getPreplacedword(), responseMsgVO)) {
return responseMsgVO;
}
// 是否含有违规字段
if (authService.usernameIsDisabled(addedUser.getUsername())) {
return responseMsgVO.buildWithMsgAndStatus(PosCodeEnum.USERNAME_NOALLOW, "用户名含有违规字段");
}
// 注册
if (!authService.register(addedUser, responseMsgVO)) {
return responseMsgVO;
}
return responseMsgVO;
}
18
View Complete Implementation : SystemServiceImpl.java
Copyright Apache License 2.0
Author : Ouyangan
Copyright Apache License 2.0
Author : Ouyangan
@Override
public void closeIpIntercept() {
// 更新字典数据
SysDataItem sysDataItem = new SysDataItem();
sysDataItem.setId(4L);
sysDataItem.setKeyValue("false");
sysDataItemMapper.update(sysDataItem);
// 删除缓存
redisTemplate.opsForValue().getOperations().delete("3-ip_forbidden");
redisTemplate.opsForSet().getOperations().delete("ip_intercepter");
}
18
View Complete Implementation : Pub_RedisUtils.java
Copyright MIT License
Author : 7040210
Copyright MIT License
Author : 7040210
/**
* 根据第三方TOKEN信息获取公司主键
*
* @param oToken 授权TOKEN
* @return
*/
public Long getPkGroupByOtherToken(String oToken) {
if (StringUtils.isNotBlank(oToken)) {
ValueOperations<String, Long> operations = redisTemplate.opsForValue();
boolean exists = redisTemplate.hasKey(oToken);
if (exists) {
return operations.get(oToken);
} else {
pubTools.checkOtherToken(oToken);
return operations.get(oToken);
}
}
return null;
}
18
View Complete Implementation : Pub_RedisUtils.java
Copyright MIT License
Author : 7040210
Copyright MIT License
Author : 7040210
/**
* 存储第三方请求消息ID与Token对照关系 默认5分钟有效
*
* @param messageId 消息ID
* @param oToken 第三方授权TOKEN
* @return
*/
public void setOtherMessId(String messageId, String oToken) {
ValueOperations<String, String> operations = redisTemplate.opsForValue();
operations.set(messageId, oToken, 5, TimeUnit.MINUTES);
}
18
View Complete Implementation : Pub_RedisUtils.java
Copyright MIT License
Author : 7040210
Copyright MIT License
Author : 7040210
/**
* 设置会话的用户信息,默认保持时间为5分钟,如果后期涉及到长时间的操作,再调整超时时间
*
* @param messageId 会话消息ID
* @param token 用户信息
* @return
*/
public boolean setSessionInfo(String messageId, BaseToken token) {
// 构造信息
ValueOperations<String, String> operations = redisTemplate.opsForValue();
boolean exists = redisTemplate.hasKey(messageId);
if (exists) {
return true;
} else {
operations.set(messageId, pubTools.objectToJson(token), 5, TimeUnit.MINUTES);
return true;
}
}
18
View Complete Implementation : RedisSessionDao.java
Copyright Apache License 2.0
Author : Ouyangan
Copyright Apache License 2.0
Author : Ouyangan
@Override
public void delete(Session session) {
log.info("delete shiro session ,sessionId is :{}", session.getId().toString());
redisTemplate.opsForValue().getOperations().delete(session.getId());
}
18
View Complete Implementation : SystemServiceImpl.java
Copyright Apache License 2.0
Author : Ouyangan
Copyright Apache License 2.0
Author : Ouyangan
@Override
public String selectDataItemByKey(String key, Long groupId) {
String value = (String) redisTemplate.opsForValue().get(groupId + "-" + key);
if (value == null) {
log.debug("get groupId:{} key:{} value from DB", groupId, key);
value = sysDataItemMapper.selectByKey(key, groupId);
redisTemplate.opsForValue().set(groupId + "-" + key, value);
}
return value;
}
18
View Complete Implementation : Pub_RedisUtils.java
Copyright MIT License
Author : 7040210
Copyright MIT License
Author : 7040210
/**
* 设置第三方请求TOKEN与公司对照关系,默认有效期5分组
*
* @param oToken TOKEN信息
* @param pkGroup 公司主键
*/
public void setOtherToken(String oToken, Long pkGroup) {
ValueOperations<String, Long> operations = redisTemplate.opsForValue();
operations.set(oToken, pkGroup, 5, TimeUnit.MINUTES);
}
18
View Complete Implementation : Pub_RedisUtils.java
Copyright MIT License
Author : 7040210
Copyright MIT License
Author : 7040210
/**
* 获取用户权限信息
*
* @param userId 用户ID
* @return
*/
public JSONObject getUserResource(long userId) {
ValueOperations<String, String> operations = redisTemplate.opsForValue();
boolean exists = redisTemplate.hasKey(USER_RESOURCE + userId);
if (exists) {
return pubTools.jsonToObject(operations.get(USER_RESOURCE + userId), JSONObject.clreplaced);
}
return null;
}
18
View Complete Implementation : SystemServiceImpl.java
Copyright Apache License 2.0
Author : Ouyangan
Copyright Apache License 2.0
Author : Ouyangan
@Override
public void clearAuthorizationInfoCacheByUserId(long userId) {
SysUser sysUser = sysUserMapper.selectById(userId);
if (sysUser != null) {
redisTemplate.opsForValue().getOperations().delete(SystemConstant.shiro_cache_prefix + sysUser.getLoginName());
}
log.debug("clear authorization info cache userId : {}", userId);
}