要判断一个key是否过期,可以通过RedisTemplate的getExpire方法。该方法返回key的剩余过期时间(以秒为单位)。如果key没有设置过期时间,则返回-1;如果key不存在,则返回-2。 java import java.util.concurrent.TimeUnit; public class RedisService { @Autowired private RedisTemplate<String, Object> redisTempla...
如果返回-1,表示key没有设置过期时间;如果返回-2,表示key不存在。 // 引用形式的描述信息Longttl=redisConnection.ttl(key.getBytes()); 1. 2. 获取key的过期时间:根据ttl的返回值进行相应的处理,比如转换为时间格式。 // 引用形式的描述信息if(ttl==-2){System.out.println("Key 不存在");}elseif(ttl=...
redis可以为每一个顶层数据结构(5种)的键设置过期时间,过期后将自动删除,过期时间为秒,表示还剩多少时间就会删除这个键。返回1表示设置成功,0失败。 9、查看剩余过期时间 TTLkey 当键不存在时返回-2,没有过期时间返回-1。 10、取消过期时间 PERSISTkey 除此之外,使用SET或GETSET(先设置新的值,在返回旧的值)为...
publicDataTypegetKeyType(Stringkey){returnredisTemplate.type(key);} 如果旧值存在时,将旧值改为新值 publicBooleanrenameOldKeyIfAbsent(StringoldKey,StringnewKey){returnredisTemplate.renameIfAbsent(oldKey,newKey);} 从redis中随机取出一个key redisTemplate.randomKey() 返回当前key所对应的剩余过期时间 publ...
}//从redis中随机取出一个keyredisTemplate.randomKey()//返回当前key所对应的剩余过期时间publicLonggetExpire(Stringkey) {returnredisTemplate.getExpire(key); }//返回剩余过期时间并且指定时间单位publicLonggetExpire(Stringkey, TimeUnit unit) {returnredisTemplate.getExpire(key, unit); ...
@GetMapping("delredisbykey") public void delete(String key) { redisTemplate.delete(key); } 保存和读取String /** * 保存和读取String */ @GetMapping("stringredisdemo") public String stringredisdemo() { //设置过期时间为1分钟 redisTemplate.opsForValue().set("key1", "value1", 1, TimeUnit...
stringRedisTemplate.expire(key,timeout);// todo something...} 这段代码是有问题的:当setIfAbsent成功之后断开连接,下面设置过期时间的代码stringRedisTemplate.expire(key,timeout);是无法执行的,这时候就会有大量没有过期时间的数据存在数据库。想到一个办法就是添加事务管理,修改后的代码如下: ...
4、批量删除redis中对应的key值,其中keys是数组keys:Collection<K> keys redisTemplate.delete(keys)5、把key值序列化成byte[]类型 redisTemplate.dump(key)6、对传入的key值设置过期时间 redisTemplate.expire(key, timeout, unit)redisTemplate.expireAt(key, date)7、模糊查询key值,返回的是一个没有重复的Set...
stringRedisTemplate.expire(key,timeout); // todo something... } 这段代码是有问题的:当setIfAbsent成功之后断开连接,下面设置过期时间的代码stringRedisTemplate.expire(key,timeout);是无法执行的,这时候就会有大量没有过期时间的数据存在数据库。想到一个办法就是添加事务管理,修改后的代码如下: ...
// 判断key是否已过期if(expireTime==-2){System.out.println("Key不存在");}elseif(expireTime==-1){System.out.println("Key未设置过期时间");}else{System.out.println("Key的过期时间为:"+expireTime+"秒");} 1. 2. 3. 4. 5. 6. ...