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
复制代码

 

posted @   幻月hah  阅读(109)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示