Redis实现(赋值+过期时间)的原子操作

2021/10/27 19:40:02

本文主要是介绍Redis实现(赋值+过期时间)的原子操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

为什么要设置过期时间?

获取锁的客户端一旦崩溃,如果没有过期机制,其他客户端都降无法获取锁,造成死锁问题,因此要有必要的超时机制,设置过期时间可以通过以下代码

//给baike 设置过期时间 ,单位是milliseconds
stringRedisTemplate.expire("baike",1000 , TimeUnit.MILLISECONDS);



Redis实现(赋值+过期时间)的原子操作

但是如果程序在设置过期时间的代码之前,赋值代码之后出错,还是会导致死锁问题。因此可以让赋值和设置过期时间变成一个原子操作,用以下命令:

//向redis里存入数据和设置缓存时间  
stringRedisTemplate.opsForValue().setIfAbscent("baike", "100", 1000, TimeUnit.MILLISECONDS);


这篇关于Redis实现(赋值+过期时间)的原子操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程