redisUtil
package com.cinc.ecmp.utils; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component; import java.io.Serializable;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;
/**
* @Author:
* @Despriction: 缓存类
* @CreatedTime: 2019/6/5 11:06
* @ModifyBy:
* @ModifyTime:
* @ModifyDespriction:
* @Version: V1.0.0
*/ @Component
public class RedisUtil {
@Autowired
private StringRedisTemplate redisTemplate;
@Autowired
private RedisTemplate<String, Serializable> redisObjectTemplate;
private static final String CAPTCHA_KEY="shuttle:capthcha"; private static final String PREFIX="zhugy:"; private String inboxKey(String key) {
return PREFIX + key;
} public void set(String key, Object object) {
String json = JsonUtil.objectToJsonStr(object);
redisTemplate.boundValueOps(inboxKey(key)).set(json);
} public void set(String key, Object object, long timeout, TimeUnit timeUnit) {
String json = JsonUtil.objectToJsonStr(object);
redisTemplate.boundValueOps(inboxKey(key)).set(json, timeout, timeUnit);
} public void delete(String key) {
redisTemplate.delete(inboxKey(key));
} public void deleteKeys(String keyPattern) {
Set<String> keys = redisTemplate.keys(keyPattern);
redisTemplate.delete(keys);
} public <T> T get(String key, Class<T> clazz) {
if (redisTemplate.hasKey(inboxKey(key))) {
String value = redisTemplate.boundValueOps(inboxKey(key)).get();
return JsonUtil.jsonStrToOject(value, clazz);
} else {
return null;
}
} public <T> List<T> getList(String key, Class<T> clazz) {
if (redisTemplate.hasKey(inboxKey(key))) {
String value = redisTemplate.boundValueOps(inboxKey(key)).get();
return JsonUtil.jsonToList(value, clazz);
} else {
return null;
}
}
public void setCaptcha(String key, Serializable object, long timeout, TimeUnit timeUnit) {
redisObjectTemplate.opsForHash().put(CAPTCHA_KEY, key, object);
// redisObjectTemplate.opsForHash().put(key, object, timeout, timeUnit);
} public Object getCaptcha(String key) {
return redisObjectTemplate.opsForHash().get(CAPTCHA_KEY,key);
} public boolean hasKey(String key) {
return redisObjectTemplate.opsForHash().hasKey(CAPTCHA_KEY,key);
} public void deleteKey(String key) {
redisObjectTemplate.opsForHash().delete(CAPTCHA_KEY,key);
} public Set<Object> getKeys() {
return redisObjectTemplate.opsForHash().keys(CAPTCHA_KEY);
} public int getSize() {
return Math.toIntExact(redisObjectTemplate.opsForHash().size(CAPTCHA_KEY));
}
}
redisUtil的更多相关文章
- RedisUtil 工具类
package com.test; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import red ...
- RedisUtil工具类
转载:http://blog.csdn.net/liuxiao723846/article/details/50401406 1.使用了jedis客户端,对redis进行了封装,包括: 1)使用了re ...
- RedisUtil(未完,持续更新中....)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Redis和springboot 整合redisUtil类
一.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- RedisUtil: Jedis连接自动释放
package cloud.app.prod.home.utils; import redis.clients.jedis.Jedis; import redis.clients.jedis.Jedi ...
- RedisUtil,Redis工具类
RedisUtil,Redis工具类 1.配置maven,增加依赖 2.配置工具类 1.配置maven,增加依赖 <dependency> <groupId>redis.cli ...
- 微信小程序之用户数据解密(七)
[未经作者本人同意,请勿以任何形式转载] 经常看到有点的小伙伴在群里问小程序用户数据解密流程,所以打算写一篇关于小程序用户敏感数据解密教程: 加密过程微信服务器完成,解密过程在小程序和自身服务器完成, ...
- Java连接远程Redis
redis-server & //后台启动redis redis-cli //使用redis 打开redis.conf文件在NETWORK部分有说明 /usr/local/src ...
- Spring+Mybatis基于注解整合Redis
基于这段时间折腾redis遇到了各种问题,想着整理一下.本文主要介绍基于Spring+Mybatis以注解的形式整合Redis.废话少说,进入正题. 首先准备Redis,我下的是Windows版,下载 ...
随机推荐
- 信息摘要算法 MessageDigestUtil
package com.xgh.message.digest.test; import java.math.BigInteger; import java.security.MessageDigest ...
- vue-cnodejs
感谢那些无私开源的程序员,你们是最可爱的人儿~~~~ //根app app.js <template> <div id="app"> <v-heade ...
- JavaScript--函数中()的作用
在函数中参数是函数的时候:function a(函数名) 与 function a(函数名()) 的区别: // 在函数里面() 是一个编组和立即执行的功能 /** * function autoPl ...
- Linux下配置 Keepalived(心跳检测部署)
首先呢,我想先给大家简单介绍一下什么是keepalived: Keepalived的作用是检测服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的服务器 ...
- Python学习之路13☞常用模块
一 time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“type(t ...
- OpenCV在各版本上的安装教程
目录 使用pip安装OpenCV 安装Python版的OpenCV 4 安装Python版的OpenCV 3 在OSX和 macOS上安装OpenCV 3 在Ubuntu上安装Python版的Open ...
- [自考]C++中一些特殊用法 2016-10-16 22:12 318人阅读 评论(30) 收藏
做了一段时间的C++的试题了,总结一些这段时间经常犯错和需要注意的地方. 一.常用的保留字和符号 const 定义常量或者参数 void 定义空类型变量或空类型指针,或指定函数没有返回值 static ...
- GDB调试命令手册
使用GDB 启动 $ gdb program # program是你的可执行文件,一般在当前目录 $ gdb program core # gdb同时调试运行程序和cor ...
- SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭(disabled) 几种模式之间的转换
http://blog.sina.com.cn/s/blog_5aee9eaf0100y44q.html 在CentOS6.2 中安装intel 的c++和fortran 的编译器时,遇到来一个关于S ...
- 原生js实现复制文本到粘贴板
项目中经常会遇到点击按钮复制订单号.订单id等内容到粘贴板中的需求.可是通常我们都是用Ctrl + c或右击复制的,别操心,js也是有复制命令的,那就是document.execCommand('co ...