RedisCacheUtils.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package nju.seec.helper.util.cache;
  2. import org.springframework.data.redis.core.RedisTemplate;
  3. import org.springframework.stereotype.Component;
  4. import java.util.List;
  5. import java.util.concurrent.TimeUnit;
  6. import java.util.stream.Collectors;
  7. /**
  8. * use redis
  9. *
  10. * @author cst
  11. */
  12. @Component
  13. public class RedisCacheUtils {
  14. private final RedisTemplate<String, String> redisTemplate;
  15. public RedisCacheUtils(RedisTemplate<String, String> redisTemplate) {
  16. this.redisTemplate = redisTemplate;
  17. }
  18. public void set(String cacheName, String key, String value, long expireTime, TimeUnit timeUnit) {
  19. redisTemplate.opsForValue().set(combineKey(cacheName, key), value, expireTime, timeUnit);
  20. }
  21. public String get(String cacheName, String key) {
  22. return redisTemplate.opsForValue().get(combineKey(cacheName, key));
  23. }
  24. public List<String> multiGet(String cacheName, List<String> keys) {
  25. List<String> body = keys.stream().map(key -> combineKey(cacheName, key)).collect(Collectors.toList());
  26. return redisTemplate.opsForValue().multiGet(body);
  27. }
  28. public void remove(String cacheName, String key) {
  29. redisTemplate.delete(cacheName + ":" + key);
  30. }
  31. private String combineKey(String cacheName, String key) {
  32. return cacheName + ":" + key;
  33. }
  34. }