Redis数据库

本文详细介绍了Redis的安装过程,包括在Linux环境下下载、解压、编译和解决编译问题的步骤。同时,讲解了Redis的启动、测试以及常用命令。此外,还展示了如何在SpringBoot应用中集成Redis,提供了配置文件和业务代码示例。最后,针对Java连接Redis可能遇到的问题给出了解决方案。
摘要由CSDN通过智能技术生成

1.简介:

    Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消

    息中间件

2.官网:

    中文:redis中文官方网站

    英文:Redis

3.安装:

(1)安装位置:

           Linux或服务器上安装(注:此处我是在Linux安装)

(2)下载链接:

          中文:redis 6.0.6 下载 -- Redis中国用户组(CRUG)

          英文:Redis

(3)解压安装:

        (3.1)解压:

                    命令:tar -zxvf -redis-6.0.6.tar.gz(注:解压到指定目录,此处我创建file目录)

                    在线下载命令:wget http://download.redis.io/releases/redis-6.0.6.tar.gz

                    如图:

                    

        (3.2)进入目录:

                    命令:cd redis-6.0.6

                    如图:       

        (3.3)编译文件:

                    命令:make

                    如图:出现错误

                    

                    解决方案:

                  (1)安装GCC依赖:

                           命令:yum install gcc(注:出现y/d/N,输入y回车即可)

                           如图:

                                                     

                  (2)再次编译:

                           命令:make MALLOC=libc

                           如图:使用最新的redis-6.0.6后,安装完GCC再次编译还是报错

                           

                           原因:自 redis 6.0.0 之后,编译 redis 需要支持 C11 特性,C11 特性在 4.9 中被 

                                      引入。Centos7 默认 gcc 版本为 4.8.5,所以需要升级gcc版本。

                           解决方案:

                          1.使用老版本的redis

                           或

                           2.升级GCC :

                              逐条执行以下命令:

                              yum -y install gcc gcc-c++ make tcl

                              yum -y install centos-release-scl

                              yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

                              scl enable devtoolset-9 bash

                              GCC升级完成后:

                              查看GCC命令:gcc -v

                              如图:

                             

                              再次编译命令:make MALLOC=libc

                              如图:未出现错误,则表示编译成功

                              

(4)启动redis:

        (1)直接启动:

                 进入redis-6.0.6/src目录

                 1.查看命令:ls 或 ll (注:小写)

                    如图:

                   

                 2.启动命令:./redis-server

                    如图:(注:直接启动后,此窗口将无法再输入命令,需再开启一个窗口)  

                   

                 3.查看服务命令:ps -ef|grep redis

                    如图:                      

       

                 4.停止服务命令:kill -9 服务id (强制停止)

                    如图:

      

        (2)后台启动:

                1.进入redis-6.0.6目录,修改redis.conf文件的daemonize no 为 yes

                   如图:

                  

                2.进入redis-6.0.6/src目录

                   启动命令:./redis-server ../redis.conf

                   如图:                   

(5)测试redis:

          redis服务已启动,下一步进入redis客户端测试

          进入redis-6.0.06/src目录

          命令:./redis-cli 或 ./redis-cli -p 6379(端口号启动)

          如图:输入ping,出现PONG,则表示连接redis成功

          

4.redis常用命令:

    详解连接:Redis常用命令_阳光岛主-CSDN博客_redis常用命令

    1.获取所有key: keys *

    2.选择第一个库: select 0

    3.移动key: move key 库ID(注:将当前库key移某个库,目标库有此key,则不能移动)

    4.清除库数据: flushdb

    5.随机返回key: randomkey(注:从当前数据库中)

    6.添加key值: set key value

    7.获取key值: get key

    6.返指定key类型: type key

    7.删除指定key: del key

    8.判断是否存在key:exists key

    9.10秒过期: expire key 10

    10.1000 毫秒: pexpire key 1000

    11.删除过期时间: persist key

    12.查看过期时间: ttl key(注:-1表示永不过期,-2表示已过期)

5.SpringBoot集成Redis:

  (2.1)pom.xml文件:

     <!--集成redis-->
     <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-redis</artifactId>
          <version>2.1.6.RELEASE</version>
     </dependency>

  (2.2)application.yml文件:

     #redis相关配置
     redis:
       host: 127.0.0.1 
       port: 6379

  (2.3)主启动类:

     public class RedisMainApplication {
         public static void main(String[] args) {
              SpringApplication.run(RedisMainApplication.class,args);
         }
     }

  (2.4)业务编写:

/**
 * SpringBoot整合redis测试
 */
@SpringBootTest
public class SpringBootRedisTest {
​
    @Autowired
    //在redis客户端获取key-value会有特殊字符
    private RedisTemplate<Object,Object> redisTemplate01;
​
    @Autowired
    //在redis客户端获取key-value正常显示,中文除外
    private RedisTemplate<String,String> redisTemplate02;
​
    @Autowired
    //在redis客户端获取key-value正常显示,中文除外
    private StringRedisTemplate stringRedisTemplate;
​
    /**
     * 特殊字符
     * RedisTemplate01
     */
    @Test
    public void testRedis01(){
        ValueOperations<Object, Object> vop1 = redisTemplate01.opsForValue();
        //在redis中储存"name"变成"\xac\xed\x00\x05t\x00\x04name"
        //vop1.set("name","victor");     
        Object name = vop1.get("name");
        System.out.println(name);
​
    }
​
    /**
     * 正常显示,中文除外
     * RedisTemplate02
     */
    @Test
    public void testRedis02(){
        ValueOperations<String, String> vop2 = redisTemplate02.opsForValue();
        //vop2.set("age","21");
        Object age = vop2.get("age");
        System.out.println(age);
​
    }
​
    /**
     * 正常显示,中文除外
     * StringRedisTemplate
     */
    @Test
    public void testRedis03(){
        ValueOperations<String, String> vop3 = stringRedisTemplate.opsForValue();
        //vop3.set("address","湖南");
        String address = vop3.get("address");
        System.out.println(address);
​
    }
​
    /**
     * 正常显示,中文除外
     * StringRedisTemplate
     */
    @Test
    public void testRedis04(){
        ListOperations<String, String> lop = stringRedisTemplate.opsForList();
        lop.leftPush("fruit","apple1");
        lop.leftPush("fruit","apple2");
        lop.leftPush("fruit","apple3");
    }
}

6.java连接问题: 

    解决方案:

    如图:

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值