Redis工具类封装

使用redis也好几年了,总是拷贝来拷贝去的,这次干脆放在这把,每次来这拷贝,不用在工程里面找来找去了。

/*** Redis工具类* @author   Huangliniao* @since    2022-05-07* @version  1.0*/
@Component
public class RedisBean {@Resourceprivate RedisTemplate<String, Object> redisTemplate;/*** 存放Object到指定的key* @param key* @param value* @return*/public boolean set(String key, Object value) {try {redisTemplate.opsForValue().set(key, value);return true;} catch (Exception e) {e.printStackTrace();return false;}}/*** 存放Object到指定的key,并指定时效时间* @param key* @param value* @param time 单位为秒* @return*/public boolean set(String key, Object value, long time) {try {if (time > 0) {redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);} else {set(key, value);}return true;} catch (Exception e) {e.printStackTrace();return false;}}/*** 获取指定key的值* @param key* @return*/public Object get(String key) {return key == null ? null : redisTemplate.opsForValue().get(key);}/*** 删除key* @param key*/@SuppressWarnings("unchecked")public void del(String... key) {if (key != null && key.length > 0) {if (key.length == 1) {redisTemplate.delete(key[0]);} else {redisTemplate.delete(CollectionUtils.arrayToList(key));}}}/*** 指定key的过期时间* @param key* @param time 单位为秒* @return*/public boolean expire(String key, long time) {try {if (time > 0) {redisTemplate.expire(key, time, TimeUnit.SECONDS);}return true;} catch (Exception e) {e.printStackTrace();return false;}}/*** 获取key的过期时间,单位为秒* @param key* @return 返回-1表示没有指定时效时间*/public long getExpire(String key) {return redisTemplate.getExpire(key, TimeUnit.SECONDS);}/*** 是否存在key* @param key* @return true-存在,false-不存在*/public boolean hasKey(String key) {try {return redisTemplate.hasKey(key);} catch (Exception e) {e.printStackTrace();return false;}}/*** 递增* @param key* @param delta* @return*/public long incr(String key, long delta) {if (delta < 0) {throw new RuntimeException("递增因子必须大于0");}return redisTemplate.opsForValue().increment(key, delta);}/*** 递减* @param key* @param delta* @return*/public long decr(String key, long delta) {if (delta < 0) {throw new RuntimeException("递减因子必须大于0");}return redisTemplate.opsForValue().increment(key, -delta);}}

备注:在启动工程的时候报了一个错误,日志如下:

Field redisTemplate in com.example.common.redis.RedisBean required a bean of type 'org.springframework.data.redis.core.RedisTemplate' that could not be found.

将RedisTemplate的注解@Autowired改为@Resource后得已解决。

Redis工具类封装相关推荐

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

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

  2. Redis工具类封装RedisUtils

    本文参考:https://blog.it-follower.com/posts/2563248908.html SpringBoot项目集成Redis相当简单,只需要pom中加入对应依赖 <de ...

  3. SpringBoot Redis工具类封装

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

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

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

  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. Redis工具类的封装

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

  8. Redis(七) - 封装Redis工具类

    文章目录 一.封装Redis工具类 1. 使用构造方法注入StringRedisTemplate 2. 方法1:将任意Java对象序列化为json并存储在string类型的key中,并且可以设置TTL ...

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

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

最新文章

  1. Google I/O 2017 大会时间表出炉:安卓 8.0 时代来临
  2. 干货丨 简述迁移学习在深度学习中的应用
  3. JS进阶篇--JS数组reduce()方法详解及高级技巧
  4. svn更改用户名方法:
  5. linux开放端口_Linux系统通过firewall限制或开放IP及端口 - 北方客888
  6. 【jQuery】手机验证码倒计时效果
  7. SSM+mybatis单元测试
  8. Linux的SWAP分区空间不够用的情况下,如何添加SWAP分区
  9. Java 调用Web service 添加认证头(soapenv:Header)
  10. Java开发全套学习!java微服务网关
  11. 中upload依赖包_upload-labs writeup
  12. 8000401a 因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码
  13. 黑色星期五 问题描述   有些西方人比较迷信,如果某个月的13号正好是星期五,他们就会觉得不太吉利,用古人的说法,就是“诸事不宜”。请你编写一个程序,统计出在某个特定的年份中,出现了多少次既是13号又
  14. android画图奥运五环,Android 自定义View 画圆(奥运五环)
  15. 北京春运更智能:自助验票、微信查询
  16. 腾讯优图发布三款AI硬件,深化To B能力
  17. E3亮点:StudioMDHR的《茶杯头》
  18. python爬虫-豆瓣电影Top250
  19. 数据中台与数据仓库区别
  20. Establishing Android Build Environment

热门文章

  1. 纽约大学文理学院转计算机专业,纽约大学硕士本院转专业 劝你谨慎更换专业...
  2. 响应式编程(Reactive Programming)是什么?
  3. linux应急处理方法,Linux系统下6个常见紧急情况的应急处理方法
  4. python 做交易软件下载_利用python下载股票交易数据
  5. b460m迫击炮黑苹果bios
  6. android数据库工具库,android 数据库工具种MyDbHelper
  7. 【R语言】混淆矩阵计算
  8. ooad设计模式_OOAD-面向对象的分析与设计
  9. ushort mysql,C# NModbus4读取寄存器ushort[]
  10. 【Linux 内核 内存管理】mmap 系统调用源码分析 ④ ( do_mmap 函数执行流程 | do_mmap 函数源码 )