redisUtils
依赖:
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-data-redis</artifactId>
- </dependency>
- package com.icil.elsa.collection.common.utils;
- import java.io.Serializable;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- import java.util.concurrent.TimeUnit;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.data.redis.core.HashOperations;
- import org.springframework.data.redis.core.ListOperations;
- import org.springframework.data.redis.core.RedisTemplate;
- import org.springframework.data.redis.core.SetOperations;
- import org.springframework.data.redis.core.ValueOperations;
- import org.springframework.data.redis.core.ZSetOperations;
- import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
- import org.springframework.data.redis.serializer.RedisSerializer;
- import org.springframework.data.redis.serializer.StringRedisSerializer;
- import org.springframework.stereotype.Component;
- /**
- * *************************************************************************
- * <PRE>
- * @ClassName: : RedisUtils
- *
- * @Description: : redis common utils
- *
- * @Creation Date : 12 Mar 2019 3:55:12 PM
- *
- * @Author : Sea
- *
- *
- * </PRE>
- **************************************************************************
- */
- @SuppressWarnings("all")
- @Component
- public class RedisUtils {
- @Autowired
- private RedisTemplate redisTemplate;
- /**
- * 解决乱码问题
- */
- @Autowired(required = false)
- public void setRedisTemplate(RedisTemplate redisTemplate) {
- RedisSerializer stringSerializer = new StringRedisSerializer();
- redisTemplate.setKeySerializer(stringSerializer);
- GenericJackson2JsonRedisSerializer jackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
- // redisTemplate.setValueSerializer(stringSerializer);
- redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
- redisTemplate.setHashKeySerializer(stringSerializer);
- redisTemplate.setHashValueSerializer(stringSerializer);
- this.redisTemplate = redisTemplate;
- }
- /**
- * 写入缓存
- * @param key
- * @param value
- * @return
- */
- public boolean set(final String key, Object value) {
- boolean result = false;
- try {
- ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
- operations.set(key, value);
- result = true;
- } catch (Exception e) {
- e.printStackTrace();
- }
- return result;
- }
- /**
- * * 写入缓存设置时效时间
- * @param key
- * @param value
- * @param expireTime days
- * @return
- */
- public boolean setwithExpireDay(final String key, Object value, Long expireTime) {
- boolean result = false;
- try {
- ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
- operations.set(key, value);
- redisTemplate.expire(key, expireTime, TimeUnit.DAYS);
- result = true;
- } catch (Exception e) {
- e.printStackTrace();
- }
- return result;
- }
- /**
- * * 写入缓存设置时效时间
- * @param key
- * @param value
- * @param expireTime sec
- * @return
- */
- public boolean setwithExpireSec(final String key, Object value, Long expireTime) {
- boolean result = false;
- try {
- ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
- operations.set(key, value);
- redisTemplate.expire(key, expireTime, TimeUnit.SECONDS);
- result = true;
- } catch (Exception e) {
- e.printStackTrace();
- }
- return result;
- }
- /**
- * 批量删除对应的value
- * @param keys
- */
- public void remove(final String... keys) {
- for (String key : keys) {
- remove(key);
- }
- }
- /**
- * 批量删除key
- * @param pattern
- */
- public void removePattern(final String pattern) {
- Set<Serializable> keys = redisTemplate.keys(pattern);
- if (keys.size() > )
- redisTemplate.delete(keys);
- }
- /**
- * 删除对应的value
- * @param key
- */
- public void remove(final String key) {
- if (exists(key)) {
- redisTemplate.delete(key);
- }
- }
- /**
- * 判断缓存中是否有对应的value
- * @param key
- * @return
- */
- public boolean exists(final String key) {
- return redisTemplate.hasKey(key);
- }
- /**
- * 读取缓存
- * @param key
- * @return
- */
- public Object get(final String key) {
- Object result = null;
- ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
- result = operations.get(key);
- return result;
- }
- /**
- * 哈希 添加
- * @param key
- * @param hashKey
- * @param value
- */
- public void hmSet(String key, Object hashKey, Object value){
- HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();
- hash.put(key,hashKey,value);
- }
- /**
- * 哈希 添加
- * @param key
- * @param hashKey
- * @param value
- */
- public void hmSetwithExpireDay(String key, Object hashKey, Object value,Long expireTime){
- HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();
- redisTemplate.expire(key,expireTime, TimeUnit.DAYS);
- // redisTemplate.expire(key,expireTime, TimeUnit.MINUTES);
- hash.put(key,hashKey,value);
- }
- /**
- * 哈希获取数据
- * @param key
- * @param hashKey
- * @return
- */
- public Object hmGet(String key, Object hashKey){
- HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();
- return hash.get(key,hashKey);
- }
- /**
- * delete hashkey
- * @param key
- * @param hashKey
- * @return
- */
- public void hmDel(String key, Object hashKey){
- HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();
- hash.delete(key,hashKey);
- }
- public Map<Object, Object> hmGetentries(String key){
- HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();
- Map<Object, Object> entries = hash.entries(key);
- return entries;
- }
- /**
- * 列表添加
- * @param k
- * @param v
- */
- public void lPush(String k,Object v){
- ListOperations<String, Object> list = redisTemplate.opsForList();
- list.rightPush(k,v);
- }
- /**
- * 列表获取
- * @param k
- * @param l
- * @param l1
- * @return
- */
- public List<Object> lRange(String k, long l, long l1){
- ListOperations<String, Object> list = redisTemplate.opsForList();
- return list.range(k,l,l1);
- }
- /**
- * 集合添加
- * @param key
- * @param value
- */
- public void add(String key,Object value){
- SetOperations<String, Object> set = redisTemplate.opsForSet();
- set.add(key,value);
- }
- /**
- * 集合获取
- * @param key
- * @return
- */
- public Set<Object> setMembers(String key){
- SetOperations<String, Object> set = redisTemplate.opsForSet();
- return set.members(key);
- }
- /**
- * 有序集合添加
- * @param key
- * @param value
- * @param scoure
- */
- public void zAdd(String key,Object value,double scoure){
- ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();
- zset.add(key,value,scoure);
- }
- /**
- * 有序集合获取
- * @param key
- * @param scoure
- * @param scoure1
- * @return
- */
- public Set<Object> rangeByScore(String key,double scoure,double scoure1){
- ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();
- return zset.rangeByScore(key, scoure, scoure1);
- }
- }
redisUtils的更多相关文章
- 单机版 RedisUtils({基本操作封装工具类})【三】
<!--集成的RedisJAR--> <!--引入jedis需的jar包--> <dependency> <groupId>redis.clients& ...
- java redisUtils工具类很全
GitHub地址:https://github.com/whvcse/RedisUtil redisUtils工具类: package com.citydo.utils; import org.spr ...
- Java-Class-C:com.ylbtech.api.platfrom.util.RedisUtils.class
ylbtech-Java-Class-C:com.ylbtech.api.platfrom.util.RedisUtils.class 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶 ...
- SpringBoot整合Redis、mybatis实战,封装RedisUtils工具类,redis缓存mybatis数据 附源码
创建SpringBoot项目 在线创建方式 网址:https://start.spring.io/ 然后创建Controller.Mapper.Service包 SpringBoot整合Redis 引 ...
- RedisUtils工具类
package test.util; import org.springframework.beans.factory.annotation.Autowired; import org.springf ...
- (Java) RedisUtils
package com.vcgeek.hephaestus.utils; import org.springframework.beans.factory.annotation.Autowired; ...
- Redis和SpringBoot整合RedisUtils类
一.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- Redis在JAVA中的运用(工具类)
最近项目需要用redis在中间做缓存所以写了一个工具类作为练习用 redis版本:redis_version:3.0.504 用到阿里的解析JSON的库:fastjson import org.apa ...
- Redis命令
redis的常用命令主要分为两个方面.一个是键值相关命令.一个是服务器相关命令(redis-cli进入终端) 1.键值相关命令 keys * 取出当前所有的key exists name 查看n是否有 ...
随机推荐
- PREV-9_蓝桥杯_大臣的旅费
问题描述 很久以前,T王国空前繁荣.为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首 ...
- MyBatis 别名标签 & sql的复用
1.MyBatis 别名标签 如果在映射文件中,大量使用类名比较长,可以在sqlMapConfig.xml声明别名, 在映射文件中可以使用别名缩短配置,注意此配置要放在最前面 sqlMapConfig ...
- [UE4]Canvas Panel应用小技巧
当设置为满屏拉伸的时候,只要把“偏移左侧”和“偏移底部”都设置为0,就会自动拉伸为整屏了.再也不需要手动担心拉不满屏了.
- c#第一周的游戏
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...
- synchronous-request-with-websockets
https://stackoverflow.com/questions/13417000/synchronous-request-with-websockets
- PostgreSQL 一主多从(多副本,强同步)简明手册 - 配置、压测、监控、切换、防脑裂、修复、0丢失 - 珍藏级
参考来源: https://github.com/digoal/blog/blob/master/201803/20180326_01.md#postgresql-一主多从多副本强同步简明手册---配 ...
- linux下新建(mkdir)、删除(rmdir)文件夹
mkdir: 该命令:mkdir ./folder2/folder3 ./当前文件下下一级目录 rmdir:移除文件夹
- Javascript-关于for in和forEach
JS-for in:用来遍历对象 //遍历对象 for in var opts={name:'xiaofei',age:'28岁',job:'web前端工程师'} for (var k in opts ...
- idea vs
F8对应vs的F10F7对应vs的F11F9对应vs的F5 ctrl+.对应vs的alt+回车 shift+alt+s 查找文本的出现位置就用Ctrl+F/Ctrl+Shift+F在当前窗口或 ...
- boost json序列化
json序列化 #ifndef FND_JSON_OBJECT_H #define FND_JSON_OBJECT_H #include <sstream> #include <bo ...