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版,下载 ...
随机推荐
- PHPCMS快速建站系列之类别调用及类别显示页面
在需要调用类别的地方,比如列表页,首先写循环前面写上一句: <?php $TYPE = getcache('type_content','commons');?> 这句就是把类别缓存加载进 ...
- POJ 2632 Crashing Robots (模拟 坐标调整)(fflush导致RE)
题目链接:http://poj.org/problem?id=2632 先话说昨天顺利1Y之后,直到今天下午才再出题 TAT,真是刷题计划深似海,从此AC是路人- - 本来2632是道略微恶心点的模拟 ...
- java jvm 参数 -Xms -Xmx -Xmn -Xss 调优总结
常见配置举例 堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制.32位系统 下,一般限制在1.5 ...
- 两种最常用的 HTTP 方法:GET 和 POST。
什么是 HTTP? 超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信. HTTP 的工作方式是客户机与服务器之间的请求-应答协议. web 浏览器可能是客户端,而计算机上的网络应用程 ...
- 通过iOS 9 SFSafariViewController提供完整的Web浏览体验
http://www.cocoachina.com/ios/20150826/13157.html 本文由CocoaChina译者@涛声依旧-忆往昔翻译自tutsplus校对:BenBeng原文:iO ...
- 使用iPhone为Apple Watch制作动画
(原文:Make Animations for APPLE WATCH Using iPhone 作者:Andy Drizen 译者:xiaoying) 无论要做一个像hamburger button ...
- CAD专用卸载修复工具,一键完全彻底卸载删除CAD软件的专用卸载工具
Autodesk CAD卸载工具(AUTO Uninstaller)是专门为了针对Autodesk CAD软件卸载不干净而导致CAD安装失败问题进行研发的Autodesk CAD一键卸载工具.现在虽然 ...
- Gym - 101480A_ASCII Addition
题目链接 题解:普通的a+b才怪问题,需要绘制出来,方法有点麻烦. #include <iostream> #include <string.h> #include <s ...
- JavaScript 开发者都应该知道的十个概念
1. 原始值和引用值(Value vs. Reference) 理解对象.数组和函数是如何复制和传递到函数中的.了解引用值是被复制了什么,理解原始值是通过复制值来进行复制和传递的. 简析:ECMASc ...
- Redis 5.0新功能介绍
Redis 5.0 Redis5.0版是Redis产品的重大版本发布,我们先看一下它的最新特点: 新的流数据类型(Stream data type) https://redis.io/topics/s ...