Redis工具类封装RedisUtils的使用示例
此RedisUtil工具类的功能:
文章图片
直接使用此RedisUtil工具类的所需条件:
- 项目基于SpringBoot。
- pom.xml中需要引入依赖spring-boot-starter-data-redis。
- pom.xml中需要引入依赖lombok。
- pom.xml中需要引入依赖fastjson。
注:当然,如果是非SpringBoot的项目,那么也可以通过xml配置等方式,来使用此工具类,自行摸索吧。
SpringBoot项目集成Redis相当简单,只需要pom中加入对应依赖
org.springframework.boot spring-boot-starter-data-redis
【Redis工具类封装RedisUtils的使用示例】yml中,配置好spring.redis.host,spring.redis.port即可。
具体如何封装,直接上代码。
/** * Redis工具类,使用之前请确保RedisTemplate成功注入 * * @author ye17186 * @version 2019/2/22 10:48 */public class RedisUtils { private RedisUtils() {} @SuppressWarnings("unchecked")private static RedisTemplate redisTemplate = SpringUtils.getBean("redisTemplate", RedisTemplate.class); /*** 设置有效时间** @param key Redis键* @param timeout 超时时间* @return true=设置成功;false=设置失败*/public static boolean expire(final String key, final long timeout) { return expire(key, timeout, TimeUnit.SECONDS); } /*** 设置有效时间** @param key Redis键* @param timeout 超时时间* @param unit 时间单位* @return true=设置成功;false=设置失败*/public static boolean expire(final String key, final long timeout, final TimeUnit unit) { Boolean ret = redisTemplate.expire(key, timeout, unit); return ret != null && ret; } /*** 删除单个key** @param key 键* @return true=删除成功;false=删除失败*/public static boolean del(final String key) { Boolean ret = redisTemplate.delete(key); return ret != null && ret; } /*** 删除多个key** @param keys 键集合* @return 成功删除的个数*/public static long del(final Collection keys) { Long ret = redisTemplate.delete(keys); return ret == null ? 0 : ret; } /*** 存入普通对象** @param key Redis键* @param value 值*/public static void set(final String key, final Object value) { redisTemplate.opsForValue().set(key, value, 1, TimeUnit.MINUTES); } // 存储普通对象操作 /*** 存入普通对象** @param key 键* @param value 值* @param timeout 有效期,单位秒*/public static void set(final String key, final Object value, final long timeout) { redisTemplate.opsForValue().set(key, value, timeout, TimeUnit.SECONDS); } /*** 获取普通对象** @param key 键* @return 对象*/public static Object get(final String key) { return redisTemplate.opsForValue().get(key); } // 存储Hash操作 /*** 往Hash中存入数据** @param key Redis键* @param hKey Hash键* @param value 值*/public static void hPut(final String key, final String hKey, final Object value) { redisTemplate.opsForHash().put(key, hKey, value); } /*** 往Hash中存入多个数据** @param key Redis键* @param values Hash键值对*/public static void hPutAll(final String key, final Map values) { redisTemplate.opsForHash().putAll(key, values); } /*** 获取Hash中的数据** @param key Redis键* @param hKey Hash键* @return Hash中的对象*/public static Object hGet(final String key, final String hKey) { return redisTemplate.opsForHash().get(key, hKey); } /*** 获取多个Hash中的数据** @param key Redis键* @param hKeys Hash键集合* @return Hash对象集合*/public static List
这样就可以在代码中随时随地的使用了
@GetMapping("/test")public ApiResp test() {RedisUtils.set("key", "value"); RedisUtils.get("key"); return ApiResp.retOK(); }
使用该工具类有一个小前提,SpringUtils中必须完成ApplicationContext的注入,注入方式有很多,此处就不表了
到此这篇关于Redis工具类封装RedisUtils的使用示例的文章就介绍到这了,更多相关Redis工具类封装RedisUtils内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- Java中GUI工具包AWT和Swing用法介绍
- java|java 如何给对象中的包装类设置默认值
- 一起来学习一下python的数字类型
- C/C++|C++中简单的string类的实现
- c++|c++的string类的模拟实现 以及basic_string::_M_construct null not valid错误的原因
- c++|模拟实现string类
- 连接多种类型的服务器降低维护和运营成本
- IDEA神器一键查看Java字节码及其他类信息插件
- Python|Python Flask + Redis 程序练习
- mapboxgl 地图样式 - 重分类渲染