封装redis工具类 实现快速存取值
2021/10/5 2:10:59
本文主要是介绍封装redis工具类 实现快速存取值,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
下面是封装好的redis工具类
保存位置
1 reids工具类
这个类封装的是redis,直接使用这个类的方法向reids中存取值,设置过期时间
import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Component; import java.util.concurrent.TimeUnit; @Component @RequiredArgsConstructor public class CacheService { /** * redis工具类 */ //获得默认StringRedisTemplate @Autowired private StringRedisTemplate stringRedisTemplate; //设置默认事件 public static final long defaultTime = 2; /** * 存入redis 设置默认有效时间的缓存 */ public void setCacheWithDefaultTime(String key, String value) { stringRedisTemplate.opsForValue().set(key, value, defaultTime, TimeUnit.MINUTES); } /** * 存入redis 设置自定义有效时间的缓存 */ public void setCacheWithCustomerTime(String key, String value, long minute) { stringRedisTemplate.opsForValue().set(key, value, minute, TimeUnit.MINUTES); } /** * 设置无效时间的缓存 * 存入redis */ public void setCache(String key, String value) { stringRedisTemplate.opsForValue().set(key, value); } /** * 判断redis是否存在 */ public boolean exitsKey(String key) { return stringRedisTemplate.hasKey(key); } /** * 获得redis */ public String getCache(String key) { if (exitsKey(key)) { return stringRedisTemplate.opsForValue().get(key); } return ""; } /** * 清除redis */ public void clearCache(String key) { stringRedisTemplate.delete(key); } }
2 Json 转换类
上面封装的redis工具类存入的key-value都是str,实际使用时
存——要将后端的各种数据类型(主要是单个obj以及各种集合)转为str
取——将value转回原来的数据类型
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.type.CollectionLikeType; import java.util.List; /**' * Json 转换类 */ public class JsonUtils { static ObjectMapper objectMapper=new ObjectMapper(); /** * 对象转字符串 */ public static String obj2Str(Object obj) { try { String s = objectMapper.writeValueAsString(obj); return s; } catch (JsonProcessingException e) { e.printStackTrace(); } return ""; } /** * 字符串转对象 */ public static <T> T str2Obj(String str, Class<T> clazz) { try { T t = objectMapper.readValue(str, clazz); return t; } catch (Exception e) { e.printStackTrace(); } return null; } /** * 字符串转换集合 */ public static <T> List<T> str2List(String str, Class<T> clazz){ CollectionLikeType collectionLikeType = objectMapper.getTypeFactory().constructCollectionLikeType(List.class, clazz); try { List<T> list = objectMapper.readValue(str, collectionLikeType); return list; } catch (JsonProcessingException e) { e.printStackTrace(); } return null; } }
这篇关于封装redis工具类 实现快速存取值的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作
- 2024-10-22Redis缓存入门教程:快速掌握Redis缓存基础知识