Redis教程

redisson实现set只更改值不改变过期时间

本文主要是介绍redisson实现set只更改值不改变过期时间,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

直接使用lua脚本实现即可,其他的数据结果思路也一样。

    public void setNoClearExpire(String key, String value) {
        String script = "local t = redis.call('pttl', KEYS[1]);" +
                "redis.call('set', KEYS[1], ARGV[1]);" +
                "if (t > 0) then " +
                "redis.call('pexpire', KEYS[1], t); end;";
        RScript rscript = redissonClient.getScript();
        rscript.eval(RScript.Mode.READ_WRITE, script, RScript.ReturnType.BOOLEAN, Collections.singletonList(key), value);
    }

 

这篇关于redisson实现set只更改值不改变过期时间的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!