Springboot如何连接部署在Linux上的单机版Redis

1.介绍

如何通过springboot连接redis呢(至于这点博主也是踩过很多坑),接下来我带大家进行连接吧。

2.如何连接

2.1.首先我们要在linux上面查看自己的防火墙是否处于关闭状态(基于如CentOS 7及以上、Fedora、RHEL 7及以上)

使用命令 systemctl status firewalld (非root用户需要在命令的前面加上sudo 以下命令都需如此)

防火墙默认是属于开启状态(绿色字体

通过外部进行连接必须要关闭linux中的防火墙

输入命令 systemctl stop firewalld

执行完此命令后再输入命令 systemctl status firewalld 来查看防火墙状态

此时linux中的防火墙已经被关闭 

第一步到这已经完成

2.在redis的配置文件中注释掉 bind 127.0.0.1 -::1(该配置默认只能是本机访问 ),将protected-mode yes修改为protected-mode no

首先进入到redis配置文件所在的目录中(我的配置文件是在myredis目录中)

使用命令vim redis.conf (这个为自己配置文件的名字) 进入配置信息中进行修改

输入命令  /bind 回车

往下翻找到以  bind 127.0.0.1 -::1  开头的(我这里是已经修改成0.0.0.0并且注释掉了)

然后再输入命令 /protected-mode yes 直接将yes修改为no 

最后输入命令 :wq

所有配置修改完成并保存后要重新启动linux服务器

2.2.最后通过springboot集成redis

导入redis的jar包(此处所用maven构建工具)

yml文件中输入该配置(有些可不写)

host主机地址为linux服务器的地址(如何查看自己linux ip地址呢)

在linux服务器中输入命令 ifconfig 

192.168.111.130即为linux的ip地址

redis默认为6379(此处不做修改)

密码为自己所修改的密码(redis默认为无密码)

然后在idea中创建一个类写入序列化的配置

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.JdkSerializationRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;

@Configuration
public class RedisConfig {
    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(connectionFactory);
        // 设置key和value的序列化方式
        redisTemplate.setKeySerializer(new StringRedisSerializer()); // 设置key的序列化器为StringRedisSerializer
        redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer()); // 设置value的序列化器为JdkSerializationRedisSerializer
        redisTemplate.setHashKeySerializer(new StringRedisSerializer()); // 设置hash key的序列化器为StringRedisSerializer
        redisTemplate.setHashValueSerializer(new JdkSerializationRedisSerializer()); // 设置hash value的序列化器为JdkSerializationRedisSerializer
        redisTemplate.afterPropertiesSet(); // 初始化RedisTemplate
        return redisTemplate; // 返回配置好的RedisTemplate
    }


}

最后一步进行测试

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.StringRedisTemplate;

@SpringBootTest
class Redis7StudyApplicationTests {

    @Autowired
    private StringRedisTemplate stringRedisTemplate;
    @Test
    void contextLoads() {
        stringRedisTemplate.opsForValue().set("name1","redis");
        System.out.println(stringRedisTemplate.opsForValue().get("name1"));
    }

}

测试结果为

一定要在linux上开启自己的redis服务 否者会出现连接不上redis的报错

在linux上使用命令 redis-server /myredis/redis7.conf(这里的 /myredis/redis7.conf 为我自己redis配置文件所在的目录里 读自己redis所在的配置文件即可)

到此都已经完成 感谢大家的观看

  • 22
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值