1    集成redis

1.1    redis安装

  • 安装gcc

yum install gcc-c++

一直y,到complete!

 

  • 安装redis

windows下载的redis使用 fileZilla 上传到linux服务器 root路径下。我使用的是3.0.7.

tar -zxvf redis-3.0.7.tar.gz 进行解压

进入redis文件夹   cd redis-3.0.7

进行编译 make

进行安装 make PREFIX=/usr/local/redis install ,使用这个命令进行安装,安装的目录是/usr/local/redis

接下来,进入到已经被解压的Redis目录 root 下 cd /root,把目录下的Redis.conf 文件移动到 /usr/local/redis 目录下  cp redis.conf /usr/local/redis

 

  • 启动redis

后端启动,需要修改配置文件

进入指定目录 cd /usr/local/redis

修改配置文件  vim redis.conf

将  daemonize no 改为 daemonize yes   后保存退出

后端执行启动redis命令  ./bin/redis-server ./redis.conf

 

  • 停止redis

./bin/redis-cli shutdown

 

  • 验证是否启动成功

ps -ef | grep -i redis  看看有没有6379的端口

 

  • 使用redis命令

进入redis 命令模式(执行客户端):./bin/redis-cli

使用 set name helloworld ,就可以插入值

使用get name 查看

del删除

keys *  查看所有的key

 

参考博客:

https://blog.csdn.net/qq_37789071/article/details/82837024

参考课程:

https://www.imooc.com/video/14926


1.2    依赖引入jar包,但是注解无法导入

pom.xml 配置文件格式书写不正确

<!-- 标识springcloud版本 -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

 

 

2    redis的使用

2.1    redis demo

  • pom引入依赖
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.7.3</version>
        </dependency>

 

  • redis测试类
    public static void main(String[] args) throws InterruptedException {
        //我这里用的是Jedis库
        Jedis jedis=new Jedis("172.25.104.145",6379);
        jedis.set("name","doudou");
        System.out.println(jedis.get("name"));

        jedis.close();

    }

 

  • 执行结果
doudou

Process finished with exit code 0

 

 

2.1    redis demo 连接池  超时demo

  • 测试类:
/**
     * 使用连接池获取jedis对象
     * @author weidoudou
     * @date 2023/6/19 8:26
     * @return void
     **/
    @Test
    public void test3(){

        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(30);        //设置最大连接数
        config.setMaxIdle(10);        //设置最大空闲连接数

        JedisPool pool = new JedisPool(config,"172.25.104.145",6379,1);
        Jedis jedis = null;

        try {
            jedis = pool.getResource();
            jedis.set("name","doudou");
            jedis.expire("name",1);//设置超时时间 为 1s
            System.out.println(jedis.get("name"));
            Thread.sleep(1000*2);//线程沉睡2s
            System.out.println(jedis.get("name"));
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if(jedis!=null){
                jedis.close();
            }
            if(pool!=null){
                pool.close();
            }
        }
    }

 

  • 测试结果:
doudou
null

Process finished with exit code 0

 

3    常见问题

3.1    Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnect

最后发现是在application.properites的redis配置中的spring.redis.timeout中连接超时时间(毫秒)中时间设置不能为0

 

spring-boot整合redis过程中的坑

当使用spring-boot 1.4一下的版本的时候redis可以使用:spring-boot-starter-redis

使用1.4以上的版本的时候需要使用spring-boot-starter-data-redis

https://www.cnblogs.com/jinlin/p/9151597.html

 

3.2    Caused by: io.lettuce.core.RedisConnectionException: Unable to connect to 192.168.43.52:6379

两种可能原因

a  redis.conf配置文件applications.properties中  bind 127.0.0.1生效,因此只能本机访问redis,

b  redis服务掉了

 

posted on 2021-10-10 12:51  菜鸟乙  阅读(39)  评论(0编辑  收藏  举报