redisTemplate.opsForHash().put 设置过期时间
时间: 2024-03-27 15:10:12 浏览: 139
Python操作Redis之设置key的过期时间实例代码
5星 · 资源好评率100%
在Redis中,使用redisTemplate.opsForHash().put方法设置过期时间是不直接支持的。但是你可以通过使用lua脚本来实现向Redis插入Hash数据并设置整个Hash的过期时间。下面是一个示例的lua脚本:
```lua
redis.call('HMSET', KEYS[1], unpack(ARGV))
redis.call('EXPIRE', KEYS[1], ARGV[#ARGV])
```
你可以将这个脚本保存在一个文件中,比如`setHashWithExpiration.lua`。然后,你可以使用`DefaultRedisScript`类来加载这个脚本并执行:
```java
DefaultRedisScript<String> script = new DefaultRedisScript<>();
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("setHashWithExpiration.lua")));
script.setResultType(String.class);
List<String> keys = new ArrayList<>();
keys.add("hashKey");
List<String> args = new ArrayList<>();
args.add("field1");
args.add("value1");
args.add("field2");
args.add("value2");
args.add("600"); // 过期时间,单位为秒
String result = redisTemplate.execute(script, keys, args);
```
这样,你就可以使用`redisTemplate.opsForHash().put`方法来设置过期时间了。
阅读全文