千家信息网

Springboot集成Redis实例分析

发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,这篇"Springboot集成Redis实例分析"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来
千家信息网最后更新 2024年11月18日Springboot集成Redis实例分析

这篇"Springboot集成Redis实例分析"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Springboot集成Redis实例分析"文章吧。

依赖包

                    org.springframework.boot            spring-boot-starter-data-redis        

配置文件(application.properties)

# Redis数据库索引(默认为0)spring.redis.database=0# Redis服务器地址spring.redis.host=x.x.x.x# Redis服务器连接端口spring.redis.port=6738# Redis服务器连接密码(默认为空)spring.redis.password=# 连接超时时间(毫秒)spring.redis.timeout=10000# 连接池最大连接数(使用负值表示没有限制)spring.redis.jedis.pool.max-active=8# 连接池最大阻塞等待时间(使用负值表示没有限制)spring.redis.jedis.pool.max-wait=-1ms# 连接池中的最大空闲连接spring.redis.jedis.pool.max-idle=8# 连接池中的最小空闲连接spring.redis.jedis.pool.min-idle=0

配置文件(RedisConfig.java)

package com.gxr.dmsData.config;import com.fasterxml.jackson.annotation.JsonAutoDetect;import com.fasterxml.jackson.annotation.PropertyAccessor;import com.fasterxml.jackson.databind.ObjectMapper;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.Jackson2JsonRedisSerializer;import org.springframework.data.redis.serializer.RedisSerializer;import org.springframework.data.redis.serializer.StringRedisSerializer;import java.text.SimpleDateFormat;/** * @author :gongxr * @description: 自定义RedisTemplate * @date :Created in 2021/6/30 */@Configurationpublic class RedisConfig {    @Bean    public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {        RedisTemplate redisTemplate = new RedisTemplate<>();        redisTemplate.setConnectionFactory(redisConnectionFactory);        // 修改key的默认序列化器为 string        RedisSerializer stringRedisSerializer = new StringRedisSerializer();        redisTemplate.setDefaultSerializer(stringRedisSerializer);        // 自定义 对象转换        ObjectMapper objectMapper = new ObjectMapper();        objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));        objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);        objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);        Jackson2JsonRedisSerializer valueSerializer = new Jackson2JsonRedisSerializer<>(Object.class);        valueSerializer.setObjectMapper(objectMapper);//        redisTemplate.setValueSerializer(valueSerializer);//        redisTemplate.setHashValueSerializer(valueSerializer);        redisTemplate.afterPropertiesSet();        return redisTemplate;    }}

测试代码

import com.gxr.dmsData.common.BaseTest;import lombok.extern.slf4j.Slf4j;import org.junit.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.RedisTemplate;import java.util.Set;/** * @author :gongxr * @description: * @date :Created in 2021/6/30 */@Slf4jpublic class TestRedis extends BaseTest {    @Autowired    private RedisTemplate redisTemplate;    /**     * RedisTemplate中定义了对5种数据结构操作     * redisTemplate.opsForValue();//操作字符串     * redisTemplate.opsForHash();//操作hash     * redisTemplate.opsForList();//操作list     * redisTemplate.opsForSet();//操作set     * redisTemplate.opsForZSet();//操作有序set     */    @Test    public void testRedisGet() {        String key = "adviceCalculateTime";        Boolean b = redisTemplate.hasKey(key);        log.info("key是否存在:{}", b);        Object o = redisTemplate.boundValueOps(key).get();        log.info(redisTemplate.toString());        log.info("查询结果:{}", o);    }    /**     * map类型     */    @Test    public void testRedisHash() {        String key = "RRS_CURRENCY_CACHE";        Object o = redisTemplate.boundHashOps(key).get("590");        log.info("查询结果:{}", o.toString());    }    /**     * set类型     */    @Test    public void testRedisSet() {        String key = "goodsDataSyncSkc:set";        Set set = redisTemplate.boundSetOps(key).members();        log.info("查询结果:{}", set.size());        String s = (String) redisTemplate.boundSetOps(key).randomMember();        log.info("查询结果:{}", s);    }}

以上就是关于"Springboot集成Redis实例分析"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

0