Redis工具类封装
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工具类封装相关推荐
- Redis工具类封装讲解和实战
Redis工具类封装讲解和实战 简介:高效开发方式 Redis工具类封装讲解和实战 1.常用客户端 https://redisdesktop.com/download ...
- Redis工具类封装RedisUtils
本文参考:https://blog.it-follower.com/posts/2563248908.html SpringBoot项目集成Redis相当简单,只需要pom中加入对应依赖 <de ...
- SpringBoot Redis工具类封装
SpringBoot整合Redis的博客很多,但是很多都不是我想要的结果.因为我只需要整合完成后,可以操作Redis就可以了,并不需要配合缓存相关的注解使用(如@Cacheable).看了很多博客后, ...
- Redis工具类封装RedisUtils(两种)
RedisTemplate工具类1 本文参考:https://blog.it-follower.com/posts/2563248908.html SpringBoot项目集成Redis相当简单,只需 ...
- redis配置类+redis工具类
1.RedisConfig.java类 import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jac ...
- IT忍者神龟之Redis操作工具类封装
Redis操作字符串工具类封装,Redis工具类封装 Java代码 package com.lqy.spring.redis; import redis.clients.jedis.Jedis; ...
- Redis工具类的封装
Redis工具类的封装 <dependency><groupId>redis.clients</groupId><artifactId>jedis< ...
- Redis(七) - 封装Redis工具类
文章目录 一.封装Redis工具类 1. 使用构造方法注入StringRedisTemplate 2. 方法1:将任意Java对象序列化为json并存储在string类型的key中,并且可以设置TTL ...
- Java封装redis工具类RedisUtils,以及在@Postconstruct注解中调用redis可能出现redisTemplate空指针异常
1.封装redis工具类RedisUtils import org.springframework.data.redis.core.RedisTemplate; import org.springfr ...
最新文章
- Google I/O 2017 大会时间表出炉:安卓 8.0 时代来临
- 干货丨 简述迁移学习在深度学习中的应用
- JS进阶篇--JS数组reduce()方法详解及高级技巧
- svn更改用户名方法:
- linux开放端口_Linux系统通过firewall限制或开放IP及端口 - 北方客888
- 【jQuery】手机验证码倒计时效果
- SSM+mybatis单元测试
- Linux的SWAP分区空间不够用的情况下,如何添加SWAP分区
- Java 调用Web service 添加认证头(soapenv:Header)
- Java开发全套学习!java微服务网关
- 中upload依赖包_upload-labs writeup
- 8000401a 因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码
- 黑色星期五 问题描述 有些西方人比较迷信,如果某个月的13号正好是星期五,他们就会觉得不太吉利,用古人的说法,就是“诸事不宜”。请你编写一个程序,统计出在某个特定的年份中,出现了多少次既是13号又
- android画图奥运五环,Android 自定义View 画圆(奥运五环)
- 北京春运更智能:自助验票、微信查询
- 腾讯优图发布三款AI硬件,深化To B能力
- E3亮点:StudioMDHR的《茶杯头》
- python爬虫-豆瓣电影Top250
- 数据中台与数据仓库区别
- Establishing Android Build Environment
热门文章
- 纽约大学文理学院转计算机专业,纽约大学硕士本院转专业 劝你谨慎更换专业...
- 响应式编程(Reactive Programming)是什么?
- linux应急处理方法,Linux系统下6个常见紧急情况的应急处理方法
- python 做交易软件下载_利用python下载股票交易数据
- b460m迫击炮黑苹果bios
- android数据库工具库,android 数据库工具种MyDbHelper
- 【R语言】混淆矩阵计算
- ooad设计模式_OOAD-面向对象的分析与设计
- ushort mysql,C# NModbus4读取寄存器ushort[]
- 【Linux 内核 内存管理】mmap 系统调用源码分析 ④ ( do_mmap 函数执行流程 | do_mmap 函数源码 )