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版,下载 ...
随机推荐
- oracle-Mount
执行nomount的所有工作,另外附加数据结构并与这些数据结构进行交互.这时,oracle从控制文件中获得信息. 可以执行的任务是: 执行数据库的完全恢复操作 重命名数据文件 改变数据库的归档状态. ...
- Notepad++搜索中的正则应用
假设要查找文件中所有tppabs="*****" 类型的代码 tppabs="http://www.******.com/templates/Alen/Css/Main. ...
- VS2017 打包成exe
在项目的解决方案 右键→ 新建项目 后出现如下选择 (如果没有找到,请在联机中搜索 visual studio installer 并安装) 选择项目类型 Setup Project,并输入名称, ...
- UVA_414:Machined Surfaces
Language : C++ 4.8.2 #include<stdio.h> #include<string.h> int main(void) { int n; int su ...
- this的作用
1.在一般函数方法中使用 this 指代全局 function test(){ this.x = 1; alert(this.x); } test(); // 1 2.作为对象方法调用,this ...
- 阿里开源新一代 AI 算法模型,由达摩院90后科学家研发
最炫的技术新知.最热门的大咖公开课.最有趣的开发者活动.最实用的工具干货,就在<开发者必读>! 每日集成开发者社区精品内容,你身边的技术资讯管家. 每日头条 阿里开源新一代 AI 算法模型 ...
- 重磅课程|《CNCF x Alibaba 云原生技术公开课》正式开讲!
到底什么是“云原生”?云原生与 CNCF.Kubernetes 是什么关系?作为云计算时代的开发者和从业者,我们该如何在“云原生”的技术浪潮中站稳脚跟,将云原生落地.实现个人的自我升级呢? 201 ...
- HDU 1081 To The Max【dp,思维】
HDU 1081 题意:给定二维矩阵,求数组的子矩阵的元素和最大是多少. 题解:这个相当于求最大连续子序列和的加强版,把一维变成了二维. 先看看一维怎么办的: int getsum() { ; int ...
- Card Hand Sorting 二进制枚举暴力
这个题其实由于只有4种花色的,那么每种花色排列的顺序,也不过是4!种,然后对于每种花色内部到底是升序还是降序,其实也可以直接暴力,一共也就4!*2^4种情况,然后直接进行排序就可以了,但是我们如何计算 ...
- 洛谷P1807 最长路_NOI导刊2010提高(07)
//拓扑排序求最长路 #include<bits/stdc++.h> #include<queue> using namespace std; const int INF=0x ...