Spring Boot Redis

  1. 应用jar包时,springboot 1.5版本以上需要加版本号
        <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-redis</artifactId>
			<version>1.4.6.RELEASE</version>
		</dependency>
  1. 引用RedisTemplate时,如果value不是String类型时,需要重新序列化
    创建自定义序列化类 ObjectRedisSerializer,引用fastjson
package com.tissuemachine.config;

import java.nio.charset.Charset;

import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.SerializationException;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;

public class ObjectRedisSerializer<T> implements RedisSerializer<T> {
	private static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");
	private Class<T> clazz;

	public ObjectRedisSerializer(Class<T> clazz) {
		super();
		this.clazz = clazz;
	}

	@Override
	public byte[] serialize(Object obj) throws SerializationException {
		if (null == obj) {
			return new byte[0];
		}
		return JSON.toJSONString(obj, SerializerFeature.WriteClassName).getBytes(DEFAULT_CHARSET);
	}

	@Override
	public T deserialize(byte[] bytes) throws SerializationException {
		if (null == bytes || bytes.length <= 0) {
			return null;
		}
		String str = new String(bytes, DEFAULT_CHARSET);
		return (T) JSON.parseObject(str, clazz);
	}

}

配置RedisConfig类

package com.tissuemachine.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.StringRedisSerializer;

@Configuration
public class RedisConfig {

	@Bean
	public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
		RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();
		ObjectRedisSerializer<Object> objectRedisSerializer = new ObjectRedisSerializer<Object>(Object.class);
		template.setConnectionFactory(connectionFactory);
		template.afterPropertiesSet();
		template.setKeySerializer(new StringRedisSerializer());
		template.setValueSerializer(objectRedisSerializer);
		return template;
	}
}
Spring Boot中使用Redis主要需要以下几个步骤: 1. 首先,需要在项目的依赖中加入Redisjar包。这可以通过在pom.xml文件中添加以下代码来实现: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> <version>${spring-boot.version}</version> </dependency> ``` 2. 其次,在配置文件application.properties中添加Redis的连接配置。这包括设置Redis的数据库索引、服务器地址、连接端口、密码等参数。以下是一个示例配置: ```properties # Redis数据库索引(默认为0) spring.redis.database=0 # Redis服务器地址 spring.redis.host=192.168.0.24 # Redis服务器连接端口 spring.redis.port=6379 # Redis服务器连接密码(默认为空) spring.redis.password= # 连接池最大连接数(使用负值表示没有限制) spring.redis.pool.max-active=200 # 连接池最大阻塞等待时间(使用负值表示没有限制) spring.redis.pool.max-wait=-1 # 连接池中的最大空闲连接 spring.redis.pool.max-idle=10 # 连接池中的最小空闲连接 spring.redis.pool.min-idle=0 # 连接超时时间(毫秒) spring.redis.timeout=1000 ``` 3. 最后,需要进行Redis的自定义注入bean组件配置。在Spring Boot中,可以直接使用StringRedisTemplate来进行操作。它的key和value默认就是String方式,不需要再定义RedisTemplate的配置类。你可以在Spring Boot项目中创建一个StringRedisTemplate的实例,并使用它来进行Redis的操作。 综上所述,以上就是在Spring Boot中使用Redis的基本步骤。你需要在项目中添加Redis依赖,配置Redis的连接信息,然后使用StringRedisTemplate来进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [springboot整合Redis详解完整篇](https://blog.csdn.net/weixin_43978695/article/details/111054363)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [springBoot整合redis使用介绍(详细案例)](https://blog.csdn.net/weixin_43811057/article/details/120382906)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值