下载安装包

index of /releases/ 下载对应版本
image.png

安装准备

  1. 安装运行环境
    yum install gcc-c++
  2. 解压
    tar -zxvf redis-5.0.5.tar.gz
    我放在了根目录
  3. 编译
    进入解压的文件夹,执行 make 命令

    cd redis5.0.5
    make MALLOC=libc

    image.png

  4. 安装

    image.png

配置信息

  1. 配置初始化脚本

首先将初始化脚本 (Redis源代码目录的utils文件夹中有一个名为redis_init_script)
复制到/etc/init.d目录中,文件名为redis_端口号,然后修改脚本第6行的REDISPORT变量的值为同样的端口号。

  1. 建立需要的文件夹
目录名说明
/etc/redis存放 Redis 的配置文件
/var/redis/端口号存放 Redis 的持久化文件
  1. 修改配置文件
    将 redis.conf 复制到 /etc/redis 目录下,以端口号命名(6379.conf),然后进行参数配置。

image.png

  1. 将 redis 做成一个服务
  • 复制脚本到/etc/rc.d/init.d目录,命令如下:

    cp /redis-5.0.5/utils/redis_init_script /etc/rc.d/init.d
  • 切换到/etc/rc.d/init.d目录下,命令如下:

    cd /etc/rc.d/init.d
  • 重命名redis_init_script为redis,命令如下:

    mv redis_init_script redis
  • 更改redis的服务脚本,命令如下:

    vi redis

    image.png

  • 更改redis开启的命令,以后台运行的方式执行
    注意后面的那个“&”,即是将服务转到后面运行的意思,否则启动服务时,Redis服务将占据在前面,占用了主用户界面,造成其它的命令执行不了。

    $EXEC $CONF &
    # 以上操作完成后,注册服务
    chkconfig --add redis

    image.png

  1. Redis 随系统自启动

    chkconfig redis on
  2. 启动 Redis

    /etc/init.d/redis_6379 start

启动 Redis 服务

本节将分别介绍在开发环境和生产环境中运行Redis的方法以及正确停止Redis的步骤。
在这之前首先需要了解Redis包含的可执行文件都有哪些。
如果在编译后执行了make install 命令,这些程序会被复制到 /usr/local/bin目录内,所以在命令行中直接输入程序名称即可行。

image.png

  1. 直接启动

    redis-server --port 6379
    redis-cli
  2. 初始化脚本启动 Redis
    如上面所示
  3. Redis 命令行客户端
  • 发送命令

    redis-cli -h 127.0.0.1 -p 6379
    # 测试客户端与 Redis 连接是否正常
    redis-cli ping
    > PONG
  1. 配置

Redis 支持其他配置选项,如是否开启持久化、日志级别等。

由于可以配置的选项较多,通过启动参数设置这些选项并不方便,所以Redis支持通过配置文件来设置这些选项。

启用配置文件的方法是在启动时将配置文件的路径作为启动参数传递给redis-server,如:

redis-server /path/to/redis.conf

通过启动参数传递同名的配置选项会覆盖配置文件中相应的参数,如下述所示:

redis-server /path/to/redis.conf --loglevel warning

Redis 提供了一个配置文件的模板redis.conf,位于源代码目录的根目录中。

除此之外,还可以在 Redis 运行时通过CONFIG SET 命令在不重新启动 Redis 的情况下动态修改部分 Redis 配置(同样的 config get 动态获取配置信息)。如下述所示:

CONFIG SET loglevel warning
不是所有的配置都可以动态修改
  1. 多数据库

每个数据库对外都是以一个从0开始的递增数字命名,Redis默认支持16个数据库,可以通过配置参数databases来修改这一数字。客户端与Redis建立连接后会自动选择0号数据库,不过可以随时使用SELECT命令更换数据库,如要选择1号数据库:

select 1

首先 Redis 不支持自定义数据库的名字,每个数据库都以编号命名,不支持为每个数据库设置不同的访问密码

最重要的一点是多个数据库之间并不是完全隔离的,比如 FLUSHALL 命令可以清空一个 Redis 实例中所有数据库中的数据。

综上所述,这些数据库更像是一种命名空间,而不适宜存储不同应用程序的数据。

比如可以使用 0 号数据库存储某个应用生产环境中的数据,使用 1 号数据库存储测试环境中的数据,但不适宜使用 0 号数据库存储 A 应用的数据而使用 1 号数据库存储 B 应用的数据,不同的应用应该使用不同的 Redis 实例存储数据。

由于Redis非常轻量级,一个空Redis实例占用的内存只有1MB左右,所以不用担心多个Redis实例会额外占用很多内存。


pipiimmortal
12 声望0 粉丝