iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何在Springboot中使用RedisUtils工具类
  • 621
分享到

如何在Springboot中使用RedisUtils工具类

2023-06-15 02:06:21 621人浏览 独家记忆
摘要

如何在SpringBoot中使用RedisUtils工具类?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。springBoot整合Redis引入Redis依赖 &l

如何在SpringBoot中使用RedisUtils工具类?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

springBoot整合Redis

引入Redis依赖

 <!-- redis--><dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-data-redis</artifactId></dependency>

设置Redis的Template

如何在Springboot中使用RedisUtils工具类

RedisConfig.java

package cn.wideth.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.connection.RedisConnectionFactory;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.serializer.RedisSerializer;@Configurationpublic class RedisConfig {    @Bean    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {        RedisTemplate<String, Object> template = new RedisTemplate<>();        template.setConnectionFactory(factory);        // 设置key的序列化方式        template.seTKEySerializer(RedisSerializer.string());        // 设置value的序列化方式        template.setValueSerializer(RedisSerializer.JSON());        // 设置hash的key的序列化方式        template.setHashKeySerializer(RedisSerializer.string());        // 设置hash的value的序列化方式        template.setHashValueSerializer(RedisSerializer.json());        template.afterPropertiesSet();        return template;    }}

设置Redis连接信息

如何在Springboot中使用RedisUtils工具类

redis操作5种常见的数据类型

Redis工具类

redisTemplate API

opsForValue -> String

opsForSet -> Set

opsForHash -> hash

opsForZset -> SortSet

opsForList -> list队列

代码

package cn.wideth.util.other;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.*;import java.util.List;import java.util.Set;import java.util.concurrent.TimeUnit;public class RedisUtils {    @Autowired    private RedisTemplate<String, Object> redisTemplate;    private static double size = Math.pow(2, 32);        public boolean setBit(String key, long offset, boolean isshow) {        boolean result = false;        try {            ValueOperations<String, Object> operations = redisTemplate.opsForValue();            operations.setBit(key, offset, isShow);            result = true;        } catch (Exception e) {            e.printStackTrace();        }        return result;    }        public boolean getBit(String key, long offset) {        boolean result = false;        try {            ValueOperations<String, Object> operations = redisTemplate.opsForValue();            result = operations.getBit(key, offset);        } catch (Exception e) {            e.printStackTrace();        }        return result;    }        public boolean set(final String key, Object value) {        boolean result = false;        try {            ValueOperations<String, Object> operations = redisTemplate.opsForValue();            operations.set(key, value);            result = true;        } catch (Exception e) {            e.printStackTrace();        }        return result;    }            public boolean set(final String key, Object value, Long expireTime) {        boolean result = false;        try {            ValueOperations<String, Object> operations = redisTemplate.opsForValue();            operations.set(key, value);            redisTemplate.expire(key, expireTime, TimeUnit.SECONDS);            result = true;        } catch (Exception e) {            e.printStackTrace();        }        return result;    }        public void remove(final String... keys) {        for (String key : keys) {            remove(key);        }    }        public void remove(final String key) {        if (exists(key)) {            redisTemplate.delete(key);        }    }        public boolean exists(final String key) {        return redisTemplate.hasKey(key);    }        public Object get(final String key) {        Object result = null;        ValueOperations<String, Object> operations = redisTemplate.opsForValue();        result = operations.get(key);        return result;    }        public void hmSet(String key, Object hashKey, Object value) {        HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();        hash.put(key, hashKey, value);    }        public Object hmGet(String key, Object hashKey) {        HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();        return hash.get(key, hashKey);    }        public void lPush(String k, Object v) {        ListOperations<String, Object> list = redisTemplate.opsForList();        list.rightPush(k, v);    }        public List<Object> lRange(String k, long l, long l1) {        ListOperations<String, Object> list = redisTemplate.opsForList();        return list.range(k, l, l1);    }        public void add(String key, Object value) {        SetOperations<String, Object> set = redisTemplate.opsForSet();        set.add(key, value);    }        public Set<Object> setMembers(String key) {        SetOperations<String, Object> set = redisTemplate.opsForSet();        return set.members(key);    }        public void zAdd(String key, Object value, double scoure) {        ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();        zset.add(key, value, scoure);    }        public Set<Object> rangeByScore(String key, double scoure, double scoure1) {        ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();        redisTemplate.opsForValue();        return zset.rangeByScore(key, scoure, scoure1);    }    //第一次加载的时候将数据加载到redis中    public void saveDataToRedis(String name) {        double index = Math.abs(name.hashCode() % size);        long indexLong = new Double(index).longValue();        boolean availableUsers = setBit("availableUsers", indexLong, true);    }    //第一次加载的时候将数据加载到redis中    public boolean getDataToRedis(String name) {        double index = Math.abs(name.hashCode() % size);        long indexLong = new Double(index).longValue();        return getBit("availableUsers", indexLong);    }        public Long zRank(String key, Object value) {        ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();        return zset.rank(key,value);    }        public Set<ZSetOperations.TypedTuple<Object>> zRankWithScore(String key, long start,long end) {        ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();        Set<ZSetOperations.TypedTuple<Object>> ret = zset.rangeWithScores(key,start,end);        return ret;    }        public Double zSetScore(String key, Object value) {        ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();        return zset.score(key,value);    }        public void incrementScore(String key, Object value, double scoure) {        ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();        zset.incrementScore(key, value, scoure);    }        public Set<ZSetOperations.TypedTuple<Object>> reverseZRankWithScore(String key, long start,long end) {        ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();        Set<ZSetOperations.TypedTuple<Object>> ret = zset.reverseRangeByScoreWithScores(key,start,end);        return ret;    }        public Set<ZSetOperations.TypedTuple<Object>> reverseZRankWithRank(String key, long start, long end) {        ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();        Set<ZSetOperations.TypedTuple<Object>> ret = zset.reverseRangeWithScores(key, start, end);        return ret;    }    }

springboot是什么

springboot一种全新的编程规范,其设计目的是用来简化新Spring应用的初始搭建以及开发过程,SpringBoot也是一个服务于框架的框架,服务范围是简化配置文件。

关于如何在Springboot中使用RedisUtils工具类问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: 如何在Springboot中使用RedisUtils工具类

本文链接: https://www.lsjlt.com/news/276844.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作