package nju.seec.helper.util; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import sun.reflect.generics.reflectiveObjects.NotImplementedException; import java.util.List; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** * use redis * * @author cst */ @Component public class RedisCacheUtils { private final RedisTemplate redisTemplate; public RedisCacheUtils(RedisTemplate redisTemplate) { this.redisTemplate = redisTemplate; } public void set(String cacheName, String key, String value, long expireTime, TimeUnit timeUnit) { redisTemplate.opsForValue().set(cacheName + ":" + key, value, expireTime, timeUnit); } public void setAll(String cacheName, String key, String value, long expireTime, TimeUnit timeUnit) { throw new NotImplementedException(); } public String get(String cacheName, String key) { return redisTemplate.opsForValue().get(cacheName + ":" + key); } public List multiGet(String cacheName, List keys) { List body = keys.stream().map(s -> cacheName + ":" + s).collect(Collectors.toList()); return redisTemplate.opsForValue().multiGet(body); } public void remove(String cacheName, String key) { redisTemplate.delete(cacheName + ":" + key); } }