CentOS 7和SpringBoot下的Redis配置
一、Linux
1.redis.conf文件
(1)修改daemonize 改为 daemonize yes
(2)修改protected-mode yes 改为 protected-mode no
(3)注释掉 #bin 127.0.0.1
2.设置开机自启动
在redis安装目录中找到/utils/redis_init_script,这是redis的启动文件
cd /usr/local/redis-6.2.6/utils/redis_init_script
拷贝到/etc/init.d目录下。init.d文件夹是CentOS系统启动时自己要扫描的文件夹,所以将redis的文件夹放在这个目录下
cd /etc/init.d
cp /usr/local/redis-6.2.6/utils/redis_init_script redis
修改拷贝过来的文件:
(1)添加“chkconfig:2345 80 90”。
(2)修改EXEC、CLIEXEC、CONF的地址,将其改为redis的安装地址。
设置开机自启动
chkconfig --add redisd #添加到开机自启动
chkconfig redisd on
Redis服务控制命令
service redis stop
service redis start
ps aux | grep redis-server #查看redis是否开启
中文乱码处理
redis-cli --raw
二、Springboot
1.config文件
@Configuration public class RedisConfig { @Bean public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) throws UnknownHostException { RedisTemplate<String, Object> template = new RedisTemplate<>(); template.setConnectionFactory(redisConnectionFactory); setRedisTemplate(template); template.afterPropertiesSet(); return template; } private void setRedisTemplate(RedisTemplate<String, Object> template) { // Json序列化配置 Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class); ObjectMapper objectMapper = new ObjectMapper(); objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); // 解决jackson2无法反序列化LocalDateTime的问题 objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); objectMapper.registerModule(new JavaTimeModule()); objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY); jackson2JsonRedisSerializer.setObjectMapper(objectMapper); // String 的序列化 StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); // key采用String的序列化方式 template.setKeySerializer(stringRedisSerializer); // hash的key也采用String的序列化方式 template.setHashKeySerializer(stringRedisSerializer); // value序列化方式采用jackson template.setValueSerializer(jackson2JsonRedisSerializer); // hash的value序列化方式采用jackson template.setHashValueSerializer(jackson2JsonRedisSerializer); // 设置值(value)的序列化采用FastJsonRedisSerializer。 // 设置键(key)的序列化采用StringRedisSerializer。 template.afterPropertiesSet(); } }
2.配置文件
# 连接的数据库(默认为0) spring.redis.database=0 # redis服务ip spring.redis.host=192.168.1.1 # redis端口号 spring.redis.port=6379 # redis密码 spring.redis.password=123456 # 连接池最大连接数,默认8(使用负值表示没有限制) spring.redis.pool.max-active=8 # 连接池最大阻塞等待时间(使用负值表示没有限制) spring.redis.pool.max-wait=-1 # 连接池中的最大空闲连接,默认8 spring.redis.pool.max-idle=8 # 连接池中的最小空闲连接,默认0 spring.redis.pool.min-idle=0 # 连接超时时间(毫秒) spring.redis.timeout=2000
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)