• 单机版-redis(手动部署)


    单机版-redis部署

    部署模式:单机版-redis部署

    Redis版本:redis-4.0.1

    部署redis方式:手动部署

    在完成第三步时已完成配置,后续为操作命令以及注意事项;

    在进行操作数据库时,需要关注第五步注意事项,会涉及reids数据的存取位置问题。

    配置文件redis版本可能有变,只需修改自身redis版本即可

    目录

    一、资源

    二、解压安装、编译

    1、上传资源

    2、解压

    3、编译

    三、配置-配置文件

    1、redis.conf配置

    2、启动脚本配置

    四、启停redis相关命令

    1、脚本操作redis启停

    2、其他方式操作redis

    3、登录redis客户端

    五、注意事项

    1、redis数据库存取位置

    2、测试jar包中参数修改


    一、资源

    Redis官方下载地址

    Download | Redis

    https://redis.io/download/#redis-downloads

    二、解压安装、编译

    1、上传资源

    此处放在/home/tjuser/redis/下

    2、解压

    通过tar 解压

    例如

    tar -zxvf redis-4.0.1.tar.gz

    3、编译

    在编译前先检查gcc版本

    (1)检查gcc版本

    gcc -v

    没有安装或版本为4.8.5的,在编译时可能会出错

    (2)安装gcc

    yum install -y gcc tcl

    编译操作必须在解压后的文件中进行,此处为

    cd  /home/tjuser/redis/redis-4.0.1/

    make

    只有在编译后才会生产执行文件redis-server和客户端redis-cli

    编译过程可能出错:提示如下

    原因、解决方式

    Redis版本过高可能会报错

    make报错是因为gcc版本过低,yum安装的gcc是4.8.5的。

    所以需要升级gcc,升级过程如下

    yum -y install centos-release-scl
     
    yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
     
    scl enable devtoolset-9 bash
     
    echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
     
    gcc -v

    #到解压后的redis目录下继续执行make命令即可

    校验是否编译成功

    进入/redis-4.0.1/src/目录下,通过ls查看文件,出现redis-server,redis-cli等文件即为编译正确,否则出现的是redis-server.c等类似的文件

    • 三、配置-配置文件

    redis.conf配置以及启动脚本配置

    1、redis.conf配置

    创建redis.conf文件

    Reids的redis.conf配置文件位置一般位于

    /etc/redis/redis.conf

    redis.conf文件内容如下:

    文件名称自取,不用赋予权限,创建文件的权限即可

    #如果bind 0.0.0.0表示所有ip都可访问,如果想限制ip,则有 bind ip ip,可以写多个,空格隔开
    bind 0.0.0.0

    #protected-mode 设置为 yes 时,Redis 只会监听 127.0.0.1 地址,当 protected-mode 设置为 no 时,
    #Redis 不再限制网络访问,可以通过任何 IP 地址访问 Redis 服务
    protected-mode no

    #端口配置
    port 6379

    #pid文件路径,如果需要使用启动脚本,则启动脚本中的pid路径需与此处pid路径一致,否则脚本会不能用,只可以启动,不可以停止
    pidfile "/data/redis/redis_6379.pid"

    #日志文件路径
    logfile "/data/redis/redis_6379.log"

    #数据持久化位置
    dir "/data/redis/data"

    #设置后台启动daemonize yes表示后台启动,反之
    daemonize yes

    #设置密码
    requirepass promace@123

    #设置aof格式的持久化操作
    appendonly yes
    appendfilename "appendonly-41.aof"

    注意事项:

    redis.conf内容中的设置的持久化操作是必须的,否则数据可能会丢失

    持久化配置有两种方式,rdb和aof

    aof持久化

    appendonly yes

    appendfilename "appendonly-41.aof"

    rdb持久化

    rdb的定时配置

    每五秒钟写一次RDB文件,如果至少有一个键发生更改

    Save 5 1  

    dbfilename dump.rd

    持久化的数据会在dir 目录下生成该文件

    可通过redis.conf文件查看  dir  的目录

    2、启动脚本配置

    脚本位置:/etc/init.d/redis (一般位于此处),需自建redis文件

    vim /etc/init.d/redis

    脚本内容:

    #!/bin/sh
    # chkconfig: 2345 80 90
    # Simple Redis init.d script conceived to work on Linux systems
    # as it does use of the /proc filesystem.

    #redis端口
    REDISPORT=6379

    #redis执行文件的位置
    EXEC=/home/tjuser/redis/redis-3.2.8/src/redis-server

    #redis客户端文件的位置,
    CLIEXEC=/home/tjuser/redis/redis-3.2.8/src/redis-cli

    #此处pid路径需确保与redis.conf文件中pid的位置一致,不然无法保证启动脚本的作用
    PIDFILE=/data/redis/redis_${REDISPORT}.pid

    #reids.conf文件的路径,名称可能不同。
    #例如6379.conf,若为reids_6379.conf,需为redis_${REDISPORT}.conf格式,pid也类似
    CONF="/etc/redis/${REDISPORT}.conf"

    case "$1" in
        start)
            if [ -f $PIDFILE ]
            then
                    echo "$PIDFILE exists, process is already running or crashed"
            else
                    echo "Starting Redis server..."
                    $EXEC $CONF
            fi
            ;;
        stop)
            if [ ! -f $PIDFILE ]
            then
                    echo "$PIDFILE does not exist, process is not running"
            else
                    PID=$(cat $PIDFILE)
                    echo "Stopping ..."
                    kill -9 $PID
                    while [ -x /proc/${PID} ]
                    do
                        echo "Waiting for Redis to shutdown ..."
                        sleep 1
                    done
                    echo "Redis stopped"
            fi
            ;;
        *)
            echo "Please use start or stop as first argument"
            ;;
    esac

    exit 0
     

    #赋予权限
    sudo chmod +x /etc/init.d/redis


    #设置redis的开机自启动
    sudo chkconfig redis on 

    注意事项:

    启动脚本中的# chkconfig: 2345 80 90 

    注释必不可少,不然无法设置redis的开机自启动

    如果PIDFILE文件的位置和redis.conf中pid的路径不一致,会造成用只能用service redis start启动redis,无法service redis stop关闭redis,到时候只能通过kill -9 pid杀掉进程

    • 四、启停redis相关命令

    1、脚本操作redis启停

    service redis start

    service redis stop

    service redis restart

    service redis status

    2、其他方式操作redis

    如果启动脚本失效,则使用以下原始的命令进行启停redis

    启动redis的方式

    以redis-server 和redis.conf文件配合启动,此处的redis.conf文件名为6379.conf

    只需根据redis-server和redis.conf文件的路径写即可

    启动-命令示例

    /home/tjuser/redis/redis-3.2.8/src/redis-server  /etc/redis/6379.conf  &

    注意:只需找到两个文件的路径,该命令中间有空格,&前有空格

    停止命令

    方式一:

    可以通过ps -ef | grep redis查找pid

    使用kill -9 pid 杀掉进程

    方式二:

    还可以通过

    Redis-cli  -a  password  shutdown

    此处有空格,为了看着明显空格较多,password为redis的密码

    如果没有设置密码

    可直接使用Redis-cli  shutdown 关闭redis

    3、登录redis客户端

    (1)登录

    方式1:

    进入redis客户端的命令,设置了密码(此处要进入redis-cli的目录进行执行命令,或者它存在的目录)

    如/home/redis/redis-4.0.1/src/redis-cli -a  password

    又或者

    ./redis-cli  -a  password

    方式2:

    或者通过

    如 /home/redis/redis-4.0.1/src/redis-cli

    或者

    ./redis-cli (路径如方式一

    进入客户端,在ping时显示没有权限,设置了密码

    再通过

    auth password(此时已经通过redis-cli登录了Redis的客户端)

    即可登录

    (2)操作数据库

    redis登录客户端的写操作,默认是写在第一个数据库中,总共有(0-15)16个数据库

    如果想进入第二个数据库,在通过redis-cli登录客户端的前提下

    通过select  1进入第二个数据库进行读写操作

    五、注意事项

    1、redis数据库存取位置

    在通过启动jar包方式,进行测试存取数据时,

    存取redis数据的位置由application.properties中的database进行控制;

    例如application.properties文件中的

    spring.redis.database=1

    则在进行操作redis数据库时,数据的存取会在Redis的第一个数据库中进行。

    2、测试jar包中参数修改

    在进行测试时,根据自身需求在application.properties文件中修改以下参数的值即可

    server.port

    spring.redis.database

    spring.redis.host

    spring.redis.port

    spring.redis.password

    在通过curl 进行操作数据库时,也要注意响应ip、port和key

  • 相关阅读:
    Neo4J安装
    大师傅敢死队风格
    Oracle转Poatgresql,ora2pg工具安装使用
    Linux------一篇博客了解Linux最常用的指令
    阅读阅读阅读阅读一
    穿越周期的强者:打造“第二招牌”是战略共性
    .net framework、.net standard、 .net core .net 5/6 区别
    单片机IO口应用-独立按键控制LED以及控制LED灯闪烁
    Java错题归纳day8
    为什么python量化书籍都不讲金融只讲编程?
  • 原文地址:https://blog.csdn.net/Isonion/article/details/134442807