Spring MVC使用Lettuce框架连接Redis
程序员文章站
2022-05-01 08:05:44
...
Maven
pom.xml
<!--redis-->
<!--spring支持-->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>2.1.6.RELEASE</version>
</dependency>
<!--连接框架-->
<dependency>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
<version>5.1.4.RELEASE</version>
</dependency>
<!--连接池-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.6.0</version>
</dependency>
使用注解方式添加Bean
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisPassword;
import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.connection.lettuce.LettucePoolingClientConfiguration;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import java.time.Duration;
@Configuration
@EnableWebMvc
public class RedisConnectionFactory {
/**
* Redis 连接配置
* @return
*/
@Bean(name = "stringRedisTemplate")
public StringRedisTemplate init() {
GenericObjectPoolConfig poolConfig;//连接池
LettucePoolingClientConfiguration poolingClientConfiguration;//lettuce连接池配置
RedisStandaloneConfiguration standaloneConfiguration;//spring redis 配置
LettuceConnectionFactory lettuceConnectionFactory;//lettuce 连接工厂
StringRedisTemplate stringRedisTemplate;//redis 操作类
// 连接池
poolConfig = new GenericObjectPoolConfig();
poolConfig.setMaxIdle(100);
poolConfig.setMaxTotal(100);
poolConfig.setMaxWaitMillis(Duration.ofMinutes(1).toMillis());
// 连接客户端配置
poolingClientConfiguration = LettucePoolingClientConfiguration.builder()
.poolConfig(poolConfig)
.build();
// 连接配置
standaloneConfiguration = new RedisStandaloneConfiguration("127.0.0.1", 6379);//端口和地址
standaloneConfiguration.setPassword(RedisPassword.none());// 这里的redis没有设置密码
standaloneConfiguration.setDatabase(0);//默认选第一个数据库
// 连接工厂
lettuceConnectionFactory = new LettuceConnectionFactory(standaloneConfiguration, poolingClientConfiguration);
// 记得应用设置
lettuceConnectionFactory.afterPropertiesSet();
// 已经默认了序列化为UTF-8的字符串序列化
stringRedisTemplate = new StringRedisTemplate(lettuceConnectionFactory);
return stringRedisTemplate;
}
}
最后不要忘了在spring的配置文件里面配置包的扫描路径
<context:component-scan base-package="com.example"/>
上一篇: SpringBoot 实现文件上传下载
下一篇: php下载文件的函数示例(图文)
推荐阅读
-
荐 BAT高频面试系列:设计模式+Spring源码+MyBatis+SpringMVC多线程+MySQL+Redis+框架使用+数据结构算法答案和总结
-
Java Spring MVC 框架:(九)拦截器的使用
-
springboot2整合redis使用lettuce连接池(解决lettuce连接池无效问题)
-
荐 BAT高频面试系列:设计模式+Spring源码+MyBatis+SpringMVC多线程+MySQL+Redis+框架使用+数据结构算法答案和总结
-
测试spring框架使用c3p0连接池 连接mysql失败解决方法
-
Spring MVC使用Lettuce框架连接Redis
-
springboot2整合redis使用lettuce连接池(解决lettuce连接池无效问题)
-
详述 Spring MVC 框架中拦截器 Interceptor 的使用方法
-
详述 Spring MVC 框架中拦截器 Interceptor 的使用方法
-
详述 Spring MVC 框架中拦截器 Interceptor 的使用方法