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版,下载 ...
随机推荐
- poj2195&&hdu1533 最小费用流
这题也可以用km做,我写的代码km比费用流快很多. 最小费用流: #include<stdio.h> #include<string.h> #include<math.h ...
- Directx11教程(43) 纹理映射(13)-动态纹理映射
原文:Directx11教程(43) 纹理映射(13)-动态纹理映射 本篇教程中,我们将在前面基于光照的地形与水面程序里面加上纹理映射,而且我们会基于时间动态改变水面的纹理坐标,实现水面纹理 ...
- Directx11 教程(1) 基本的windows应用程序框架(1)
原文:Directx11 教程(1) 基本的windows应用程序框架(1) 在vs2010中,建立一个新的win32工程,名字是: myTutorialD3D11, 注意:同时勾选Cr ...
- QT_OPENGL-------- 2.shader
用可编程管线绘制一个三角形 1.以上一节window为基准,进行绘制. 2.下载编译glew,并在.pro添加动态链接,并在头文件中引用. LIBS +=-L/usr/lib64 -lGLEW 可能根 ...
- 【NS2】新协议的添加示例(转载)
1. 下表显示了 NS2 和 TCP/IP.OSI七层网络结构的大致对应关系(这个表很有好处哦) TCP NS2 OSI 应用层 应用层 应用层 表示层 会话 ...
- [React Native]高度自增长的TextInput组件
之前我们学习了从零学React Native之11 TextInput了解了TextInput相关的属性. 在开发中,我们有时候有这样的需求, 希望输入区域的高度随着输入内容的长度而增长, 如下: 这 ...
- html的select标签清空option!~~~~
最好的方法:document.getElementById("selectId").length = 1; 也可以document.getElementById("sel ...
- SGU 101 Domino【欧拉路径】
题目链接: http://acm.sgu.ru/problem.php?contest=0&problem=101 题意: N个多米诺骨牌,每个骨牌左右两侧分别有一个0~6的整数(骨牌可以旋转 ...
- Gym - 101620H_Hidden Hierarchy(树+模拟)
Hidden Hierarchy 题目链接 题目描述 You are working on the user interface for a simple text-based file explor ...
- 直击 KubeCon 现场 | 阿里云 Hands-on Workshop 亮点回顾
相关文章链接[合集]规模化落地云原生,阿里云亮相 KubeCon China沉淀九年,一文看清阿里云原生大事件 2019 年 6 月 24 日至 26 日,KubeCon + CloudNativeC ...