比如在开发测试阶段,为了方便就直接使用自己windows装好redis进行简单测试了,在项目中不去单独配置yam的redis属性可以正常操作,但是在springboot的yam中配置redis连接属性时候却连不上,特意记录一下方便后续再遇到能快速解决
一、Redis配置文件位置(windows)
一般情况下,打开Redis安装目录中的redis.windows.conf
文件,打开
这里面有几个配置
1.1 配置外网访问: 搜一下关键字bind
#bind 127.0.0.1生效,就只能本机访问redis 我们修改为: bind 0.0.0.0
#bind 127.0.0.1
bind 0.0.0.0
1.2 配置Redis密码: 搜一下关键字requirepass foobared
#找到requirepass所在行,回车另起一行,输入requirepass 你的密码
# requirepass foobared
requirepass 123456 //此处注意,行前不能有空格
1.3 配置Redis端口: 搜一下关键字port 6379
#默认端口为 6379 我们可以自定义
port 6379
1.4 配置后重启Redis服务
找到redis所在的目录,将redis注册为服务
redis-server.exe --service-install redis.windows.conf
windows+R打开运行,在运行中输入
services.msc
找到后重启 才能生效
1.5 验证是否成功更改
redis-cli.exe -h 127.0.0.1 -p 6379 -a 123456
注:无论密码正确与否,这个命令都是可以进入redis的,但是如果密码错误,命令是不会执行的。
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379>
只有密码正确,指令才能执行。
如果密码未生效,也可以临时设置:
config set requirepass 123456
二、springboot项目相关的Redis配置以及工具类
2.1 pom依赖添加
<!-- Redis 配置中使用了Lettuce连接工厂,需要Commons Pool 2来支持连接池-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.7.3</version>
</dependency>
2.2 yam配置
spring:
redis:
# 地址
host: 192.168.1.135
# 端口,默认为6379
port: 6379
# 数据库索引
database: 0
# 密码
password: 123456
# 连接超时时间
timeout: 10s
lettuce:
pool:
# 连接池中的最小空闲连接
min-idle: 0
# 连接池中的最大空闲连接
max-idle: 8
# 连接池的最大数据库连接数
max-active: 8
# #连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1ms
2.3 配置序列化方式 RedisConfig
在 Spring Boot 项目中,使用 RedisTemplate 来与 Redis 进行交互,默认情况下,RedisTemplate 使用的是 JdkSerializationRedisSerializer 来序列化对象,这会将对象序列化为字节流存储到 Redis 中。
那么为什么要修改 Redis 的序列化方式呢?文章来源:https://www.toymoban.com/news/detail-793617.html
1.默认的 JdkSerializationRedisSerializer 是二进制的,不易于人工阅读和调试,而 StringRedisSerializer 则以字符串形式存储数据,更加直观。
2.在某些情况下,使用默认的序列化方式可能会导致一些问题,比如在 Redis 中存储对象时,如果对象的类结构发生变化,反序列化时可能出现类型转换异常。
因此,通过修改 RedisTemplate 的序列化方式,我们可以更好地控制数据的存储格式,提高代码的可读性和可维护性,并解决一些潜在的序列化问题。文章来源地址https://www.toymoban.com/news/detail-793617.html
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;
到了这里,关于【Redis】windows上安装的Redis,并在springboot中配置并且连接详细(排坑)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!