• Redis安装-Docker-Linux


    安装Redis

    Docker 安装 Redis

    1. 搜索Docker中的redis镜像
       docker search redis
    

    在这里插入图片描述

    1. 获取 redis 镜像 (注意切换为阿里的镜像)
    docker pull redis;
    

    在这里插入图片描述

    1. 查看本地镜像
    docker images;
    

    从官网获取 redis.conf 配置文件

    • 修改默认配置文件
      • bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
      • protected-mode no #默认yes,开启保护模式,限制为本地访问
      • daemonize no #默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选),改为yes会使配置文件方式启动redis失败
      • dir ./ #输入本地redis数据库存放文件夹(可选)
      • appendonly yes #redis持久化(可选)
    1. docker 启动 redis 命令
    docker run -p 6379:6379  --name myredis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf  -v /usr/local/docker/data:/data  -d redis redis-server /etc/redis/redis.conf --appendonly yes
    
    • 命令解释说明:
      • -p 6379:6379 端口映射: 前表示主机部分,:后表示容器部分。
      • –name myredis 指定该容器名称,查看和进行操作都比较方便。
      • -v 挂载目录,规则与端口映射相同。
      • -d redis 表示后台启动redis
      • redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf
      • appendonly yes 开启redis 持久化
    1. 使用docker ps 查看myredis已经运行了
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E4K22Csg-1592378096358)(assets/gqzdev-2020-06-17_15-02-47.png)]

    2. 使用docker exec -it myredis /bin/bash 进入redis
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ndJjfFtd-1592378096360)(assets/gqzdev-2020-06-17_15-04-56.png)]

    3. 使用 redis-cli 可以测试连接

    Linux环境安装 Redis

    安装步骤

    1. 下载获得redis-3.2.5.tar.gz后将它放入我们的Linux目录/opt

    2.解压命令:tar -zxvf redis-3.2.5.tar.gz

    3.解压完成后进入目录:cd redis-3.2.5

    4.在redis-3.2.5目录下执行make命令

    运行Make命令时出现错误,提示 gcc:命令未找到 ,

    原因是因为当前Linux环境中并没有安装gcc 与 g++ 的环境

    5.安装gcc与g++

    能上网的情况: yum install gcc yum install gcc-c++

    查看默认安装目录 /usr/local/bin

    • Redis-benchmark: 性能测试工具,可以在自己本子运行,看看自己本子性能如何(服务启动起来后执行)
    • Redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲
    • Redis-check-dump:修复有问题的dump.rdb文件
    • Redis-sentinel:Redis集群使用
    • redis-server:Redis服务器启动命令
    • redis-cli:客户端,操作入口

    Redis的启动

    • 默认前台方式启动
    • 直接执行redis-server 即可.启动后不能操作当前命令窗口
    • 推荐后台方式启动
    • 拷贝一份redis.conf配置文件到其他目录,例如根目录下的myredis目录 /myredis
    • 修改redis.conf文件中的一项配置 daemonize 将no 改为yes,代表后台启动
    • 执行配置文件进行启动 执行 redis-server /myredis/redis.conf
    [root@txserver /]# redis-server /opt/myRedis/redis.conf 
    9276:C 21 May 2020 23:28:32.830 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    9276:C 21 May 2020 23:28:32.830 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=9276, just started
    9276:C 21 May 2020 23:28:32.830 # Configuration loaded
    

    客户端访问

    • 使用redis-cli 命令访问启动好的Redis
    • 如果有多个Redis同时启动,则需指定端口号访问 redis-cli -p 端口号
    • 测试验证,通过 ping 命令 查看是否 返回 PONG

    关闭Redis服务

    • 单实例关闭
    • 如果还未通过客户端访问,可直接 redis-cli shutdown
    • 如果已经进入客户端,直接 shutdown即可.
    • 多实例关闭
    • 指定端口关闭 redis-cli -p 端口号 shutdown

    设置开机启动Redis

    1、编写脚本

    vim /etc/init.d/redis
    

    2、内容如下

    # chkconfig: 2345 10 90  
    # description: Start and Stop redis     
    PATH=/usr/local/bin:/sbin:/usr/bin:/bin   #找到本机安装redis后,存放redis命令的目录  
    REDISPORT=6379                            #redis的默认端口, 要和下文中的redis.conf中一致
    EXEC=/usr/redisbin/redis-server           #redis服务端的命令
    REDIS_CLI=/usr/redisbin/redis-cli         #redis客户端的命令  这两个一般都在 PATH目录下
    PIDFILE=/var/run/redis.pid                #reids的进程文件生成的位置
    CONF="/usr/redisbin/redis.conf"           #redis的配置文件所在的目录 
    #AUTH="1234"  这句没什么用可以不要  
     
    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   
                    if [ "$?"="0" ]   
                    then   
                            echo "Redis is running..."  
                    fi   
                    ;;   
            stop)   
                    if [ ! -f $PIDFILE ]   
                    then   
                            echo "$PIDFILE exists, process is not running."  
                    else  
                            PID=$(cat $PIDFILE)   
                            echo "Stopping..."  
                           $REDIS_CLI -p $REDISPORT  SHUTDOWN    
                            sleep 2  
                           while [ -x $PIDFILE ]   
                           do  
                                    echo "Waiting for Redis to shutdown..."  
                                   sleep 1  
                            done   
                            echo "Redis stopped"  
                    fi   
                    ;;   
            restart|force-reload)   
                    ${0} stop   
                    ${0} start   
                    ;;   
            *)   
                   echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2  
                    exit 1  
    esac
    

    3、设置redis 权限

    chmod 755 /etc/init.d/redis
    

    4、启动redis

    /etc/init.d/redis start
    

    5、设置开机启动

    cd /etc/init.d/
    chkconfig redis on
    
  • 相关阅读:
    重塑矩阵
    买卖股票
    两个数组的交集
    洛谷 P3700
    HDU 6987
    Solution -「NOI 2021」「洛谷 P7740」机器人游戏
    「NOI 2021」酱油记
    Solution -「UNR #5」「UOJ #671」诡异操作
    CD from Codeforces Round #703 (Div. 2)
    CD from Codeforces Round #701 (Div. 2)
  • 原文地址:https://www.cnblogs.com/gqzdev/p/13436783.html
Copyright © 2020-2023  润新知