RedisTemplate 设置 Map 并设置超时时间
可以使用RedisTemplate的opsForHash()方法来获取HashOperations对象,然后使用putAll()方法来设置map,并使用expire()方法设置超时时间。
import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.RedisTemplate;
public class RedisUtil {
private RedisTemplate<String, Object> redisTemplate;
public RedisUtil(RedisTemplate<String, Object> redisTemplate) {
this.redisTemplate = redisTemplate;
}
public void setMapWithTimeout(String key, Map<String, Object> map, long timeout) {
HashOperations<String, String, Object> hashOperations = redisTemplate.opsForHash();
hashOperations.putAll(key, map);
redisTemplate.expire(key, timeout, TimeUnit.SECONDS);
}
}
使用示例:
RedisUtil redisUtil = new RedisUtil(redisTemplate);
Map<String, Object> map = new HashMap<>();
map.put('key1', 'value1');
map.put('key2', 'value2');
redisUtil.setMapWithTimeout('myMap', map, 60);
上述代码中,首先通过opsForHash()方法获取HashOperations对象,然后使用putAll()方法将整个map设置到Redis中的指定key中。接着使用expire()方法设置key的超时时间为60秒。
原文地址: https://www.cveoy.top/t/topic/bZso 著作权归作者所有。请勿转载和采集!