本文参考:https://blog.it-follower.com/posts/2563248908.html

SpringBoot项目集成Redis相当简单,只需要pom中加入对应依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

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<String, Object> 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<String> 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<String, Object> 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<Object> hMultiGet(final String key, final Collection<Object> hKeys) {return redisTemplate.opsForHash().multiGet(key, hKeys);}// 存储Set相关操作/*** 往Set中存入数据** @param key Redis键* @param values 值* @return 存入的个数*/public static long sSet(final String key, final Object... values) {Long count = redisTemplate.opsForSet().add(key, values);return count == null ? 0 : count;}/*** 删除Set中的数据** @param key Redis键* @param values 值* @return 移除的个数*/public static long sDel(final String key, final Object... values) {Long count = redisTemplate.opsForSet().remove(key, values);return count == null ? 0 : count;}// 存储List相关操作/*** 往List中存入数据** @param key Redis键* @param value 数据* @return 存入的个数*/public static long lPush(final String key, final Object value) {Long count = redisTemplate.opsForList().rightPush(key, value);return count == null ? 0 : count;}/*** 往List中存入多个数据** @param key Redis键* @param values 多个数据* @return 存入的个数*/public static long lPushAll(final String key, final Collection<Object> values) {Long count = redisTemplate.opsForList().rightPushAll(key, values);return count == null ? 0 : count;}/*** 往List中存入多个数据** @param key Redis键* @param values 多个数据* @return 存入的个数*/public static long lPushAll(final String key, final Object... values) {Long count = redisTemplate.opsForList().rightPushAll(key, values);return count == null ? 0 : count;}/*** 从List中获取begin到end之间的元素** @param key Redis键* @param start 开始位置* @param end 结束位置(start=0,end=-1表示获取全部元素)* @return List对象*/public static List<Object> lGet(final String key, final int start, final int end) {return redisTemplate.opsForList().range(key, start, end);}
}

这样就可以在代码中随时随地的使用了

    @GetMapping("/test")public ApiResp test() {RedisUtils.set("key", "value");RedisUtils.get("key");return ApiResp.retOK();}

使用该工具类有一个小前提,SpringUtils中必须完成ApplicationContext的注入,注入方式有很多,此处就不表了

Redis工具类封装RedisUtils相关推荐

  1. Redis工具类封装RedisUtils(两种)

    RedisTemplate工具类1 本文参考:https://blog.it-follower.com/posts/2563248908.html SpringBoot项目集成Redis相当简单,只需 ...

  2. Redis工具类封装讲解和实战

    Redis工具类封装讲解和实战     简介:高效开发方式 Redis工具类封装讲解和实战         1.常用客户端 https://redisdesktop.com/download      ...

  3. Redis工具类封装

    Redis工具类封装 使用redis也好几年了,总是拷贝来拷贝去的,这次干脆放在这把,每次来这拷贝,不用在工程里面找来找去了. /*** Redis工具类* @author Huangliniao* ...

  4. SpringBoot Redis工具类封装

    SpringBoot整合Redis的博客很多,但是很多都不是我想要的结果.因为我只需要整合完成后,可以操作Redis就可以了,并不需要配合缓存相关的注解使用(如@Cacheable).看了很多博客后, ...

  5. redis配置类+redis工具类

    1.RedisConfig.java类 import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jac ...

  6. IT忍者神龟之Redis操作工具类封装

    Redis操作字符串工具类封装,Redis工具类封装 Java代码   package com.lqy.spring.redis; import redis.clients.jedis.Jedis; ...

  7. Java封装redis工具类RedisUtils,以及在@Postconstruct注解中调用redis可能出现redisTemplate空指针异常

    1.封装redis工具类RedisUtils import org.springframework.data.redis.core.RedisTemplate; import org.springfr ...

  8. SpringBoot整合Redis+mybatis,封装RedisUtils工具类等实战(附源码)

    点击上方蓝色字体,选择"标星公众号" 优质文章,第一时间送达 关注公众号后台回复pay或mall获取实战项目资料+视频 作者:陈彦斌 cnblogs.com/chenyanbin/ ...

  9. Redis工具类的封装

    Redis工具类的封装 <dependency><groupId>redis.clients</groupId><artifactId>jedis< ...

最新文章

  1. boot idea无法识别spring_intellij idea springboot无法读取配置文件的解决方法
  2. Silverlight 2 数据绑定演示程序(附源代码下载)
  3. liferay form 小案例
  4. Align and Prompt:SalesforceANU提出ALPRO,进行细粒度的视频文本对齐!代码已开源!...
  5. 解决vue视图不渲染
  6. xinit启动X Window System过程初探(转)
  7. Getphonenumber获得电话号码的例子
  8. 使用k-近邻算法改进约会网站的配对效果
  9. LINQ的基本语法包含如下的8个上下文关键字,这些关键字和具体的说明如下
  10. 20200105每日一句
  11. python 构造http请求对象-Request对象
  12. web前端三大主流框架分析对比
  13. 增值税计算机模拟纳税申报,增值税纳税申报系统中的CBR方法实现
  14. Android期末复习题库
  15. DOSBox指令全 汇编指令大全 debug
  16. 单位转换 inch mm mil
  17. vscode调试用的launch.json
  18. Multisim仿真—恒流源电路(二)
  19. 记录项目中遇到的坑(二)
  20. 神经网络(Neural Networks)

热门文章

  1. IDEA 添加类注释、方法注释(快捷键 /** + Enter)
  2. 计算机磁盘图标变成软件的了,电脑的本地磁盘图标变成一个U盘形状图标了怎么回事?如何解决?...
  3. Word文档删除最后一页空白页的超强方法(亲测有效)
  4. 巧用css的滤镜filter属性处理图片,高斯模糊,HTML页面黑白滤镜等
  5. Rabbitmq面试题总结,非常详细,杜绝标题党,不详细你打我,下次不写博客了
  6. 书籍记录了我技术的成长历程
  7. Activiti 7.1.7 系列(3)请假流程
  8. 可以发布任务悬赏的app
  9. Hexo系列matery主题踩坑优化记录
  10. Java高级:字节跳动历年校招Java面试真题解析