redis 数据库安装流程(Linux)

redis(Remote Dictionary Server)

是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,提供了多种语言的API,因其值(value)可以是 字符串(String),哈希(hash),列表(list),集合(sets) 和有序集合(sorted sets)等类型,又被称为数据结构服务器

Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。Redis服务端的默认端口是6379

Redis和memcache相比的独特之处

  • redis可以用来做存储(storge)、而memcache是来做缓存(cache),这个特点主要是因为其有“持久化”功能;
  • 存储的数据有“结构”,对于memcache来说,存储的数据,只有一种类型——“字符串”,而redis则可以存储字符串、链表、集合、有序集合、哈希值。

redis 安装流程

  1. 定位到你要下载和解压的文件夹,如
    # cd /usr/local/src

  2. 依次输入以下指令,进行安装
    $ wget http://download.redis.io/releases/redis-5.0.3.tar.gz // wget 指令下载 redis 压缩文件

    • 如果提示
      [root@localhost src]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz
      -bash: wget: command not found
      
      则执行以下语句,安装 wget 命令
      [root@localhost src]# yum -y install wget
      
      提示 complete 安装成功
    • 执行 wget 命令下载
      成功下载 redis-5.0.3.tar.gz

    $ tar -xzvf redis-5.0.3.tar.gz // tar 指令解压文件
    成功解压
    $ cd redis-5.0.3 // 定位到解压成的文件夹 redis-5.0.3
    $ make // 调用 make 指令,执行编译,make是自动编译,会根据Makefile中描述的内容来进行编译
    根据 Makefile 中的文件,进行 make 自动编译

    如果出现报错 cc: command not found ,则安装gcc命令,gcc是c的编译命令
    # yum -y install gcc-c++ // 安装 make 工具的编译器 gcc
    报错 cc: command not found
    gcc-c++ 安装 complete
    安装成功后,再次执行 make 命令,如果再次报错
    安装 gcc-c++ 之后再次报错

    则输入 make clean 后再次 执行 make ,然后检查 redis-5.0.3/src 目录或 /usr/local/bin下有没有 redis-serverredis-cli ,若无,则把redis-5.0.3 文件夹删掉,再解压一次redis的压缩包,然后 cd redis-5.0.3 进入文件夹中,再次执行make 指令
    执行 make 编译成功
    如果执行 make test 出现 You need tcl 8.5 or newer in order to run the Redis test,需要安装 tcl,输入yum install tcl,然后make test就可以再执行了
    执行 make test 报错
    tcl 安装 complete
    安装 tcl 之后,如果再次make test 报错 warning,则先执行 make clean,接着再执行make,然后再执行make test即可
    make test 报错 warning
    make test 报错 warning
    先执行 make clean,接着再执行 make
    最后执行 make test 成功,同时 redis 也安装成功
    或者使用 # make PREFIX=/usr/local/src/redis install // 执行安装,指向特定的文件夹 redis
    PS: 注意此命令的使用,尽量不和make同时使用,避免安装到了不同的文件夹,而引起后面 ./redis-server./redis-cli启动宕机的情况,因此 尽量避免 make 使用了之后还用 # make PREFIX=/usr/local/src/redis install
    指定 prefix 的优点

    linux中不指定 prefix 文件默认存放
    可执行文件 /usr/local/bin
    库文件 /usr/local/lib
    配置文件 /usr/local/etc
    其他资源文件 /usr/local/share

    如果要卸载这个程序,要么在原来make目录下用make uninstall,要么去上述文件中一个一个手动删除,而指定prefix,直接删掉一个文件夹就够了。

  3. 进入 安装 redis 的文件夹 usr/local/src/redis-5.0.3/src ,启动 redis 服务器,并进行相关配置
    # cd usr/local/src/redis-5.0.3/src
    # ./redis-server // 启动 redis 服务器,第一次启动
    默认情况下,redis不是在后台运行,我们需要把redis放在后台运行;
    后续没有提示 congratulation loaded,此时进入 redis-cli 需要新开一个窗口
    当执行 redis-server 后不继续操作,且没有提示 congratulation loaded ,此时是在前台启动的,按ctrl + C 可退出redis 启动窗口,此时 redis 并不会关闭,而是会在后台运行,可通过命令 ps aux | grep redis 查看,并且此时需要重新启动一个客户端来进行登陆操作,这样非常不方便,所以,我们需要设置通过配置项启动,control + z 退出,进入cd usr/local/src/redis-5.0.3找到redis.conf,输入:
    # vim redis.conf
    daemonize 进程守护 改为 yes
    # redis-server /usr/local/src/redis-5.0.3/redis.conf // 修改 daemonize 之后退出,启动该列指令,usr前面的斜杠不能少,末尾一定要带上redis.conf,以后启动都需要执行该指令,否则同样需要新开窗口
    配置后台运行成功,提示 congratulation loaded
    测试安装后的 redis

正常停止 redis-server 服务,使用reids 命令: # redis-cli shutdown

设置 redis 服务器脚本启动步骤

  1. 复制目标文件:在/etc/init.d目录下创建redis的启动脚本:将 redis-5.0.3 目录下的 utils/redis_init_script 复制到 /etc/init.d 目录下,命名为 redis_scriptstart
    redis-5.0.3 目录下的utils/redis_init_script
    目标文件夹 /etc/init.d
  2. 编辑启动文件,修改其中指定的pid和配置文件
    cd etc/init.d 进入 etc 文件夹修改复制过来的 redis_scriptstart

修改启动文件中指定的pid(进程id)和配置文件

  1. 创建存放pid(进程id)的文件夹,/var/redis/run,注意 redis 默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程daemonize no-> daemonize yes,当 redis 以守护进程方式运行时,redis默认会把pid写入 /var/redis/run/redis_6379.pid 文件,可以通过pidfile指定pidfile /var/redis/run/redis_6379.pid
    创建 /var/redis/run

  2. 创建存放配置文件的文件夹,/etc/redis,并将配置文件复制到此目录下,同时修改 .conf 配置
    创建文件夹 /etc/redis
    复制配置文件存放
    修改 .conf 配置文件 /etc/redis 和 /redis-5.0.3 的两个目录
    最后便可以通过service redis_scriptstart start指令开启 redis 服务器。

redis-benchmark redis性能测试工具
redis-check-aof 检查aof日志的工具
redis-check-dump 检查rdb日志的工具
redis-cli 连接用的客户端
redis-server redis服务进程

猜你喜欢

转载自blog.csdn.net/qq_43662261/article/details/85691043