org.springframework.data.redis.core.RedisTemplate.opsForValue() - java examples

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 7

19 View Complete Implementation : RedisClusterCache.java
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
@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
@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
/**
 * 单位分钟
 */
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
/**
 * 默认缓存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
@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
@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
@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
@Override
public String get(String key) {
    return redisTemplate.opsForValue().get(key);
}

19 View Complete Implementation : Pub_RedisUtils.java
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
/**
 * 默认缓存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
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
@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
/**
 * 解锁.
 * <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
@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
@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
@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
@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
@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
@Override
public boolean tryLock() {
    return redisTemplate.opsForValue().setIfAbsent(key, getCurrThreadId());
}

19 View Complete Implementation : RedisCache.java
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
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
@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
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
@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
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
/**
 * 发送验证码
 */
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
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
/**
 * 默认缓存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
@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
/**
 * 注册后发送验证邮件
 *
 * @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
@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
/**
 * 获得 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
@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
@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
/**
 * 设置用户菜单
 *
 * @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
/**
 * 释放 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
/**
 * 根据会话消息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
@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
/**
 * 根据第三方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
@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
@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
/**
 * 根据第三方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
/**
 * 存储第三方请求消息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
/**
 * 设置会话的用户信息,默认保持时间为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
@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
@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
/**
 * 设置第三方请求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
/**
 * 获取用户权限信息
 *
 * @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
@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);
}