public boolean setnx(final String key, final String value, Long expireTime) { Boolean result = redisTemplate.execute( new RedisCallback<Boolean>() { @Override public Boolean doInRedis(RedisConnection connection) throws DataAccessException { return connection.setNX(key.getBytes(), value.getBytes()); } }); if (result) redisTemplate.expire(key, expireTime, TimeUnit.MILLISECONDS); return result; }
/** * 设置某个key的有效时间 * * @param key * @param timeout 超时时长 * @param unit 时间单位 * @return true设置成功 false设置失败 */ public boolean expire(String key, long timeout, TimeUnit unit) { return redisTemplate.expire(key, timeout, unit); }