可以使用RedisTemplateopsForHash()方法来获取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秒。

RedisTemplate 设置 Map 并设置超时时间

原文地址: https://www.cveoy.top/t/topic/bZso 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录