安装包下载 

 

  1. 网上搜索redis,查找下载连接

centos redis 重装 centos redis 安装_redis


连接为http://download.redis.io/releases/redis-6.0.3.tar.gz

2.使用wget下载gz包,我下载时速度超慢,大家要有耐心。安装成功如图所示

wget http://download.redis.io/releases/redis-6.0.3.tar.gz

centos redis 重装 centos redis 安装_redis_02

3.下载完毕之后进行解压 tar -zxvf redis-6.0.3.tar.gz

centos redis 重装 centos redis 安装_Redis_03

   4.建议此处参看第6个步骤,先安装gcc,并注意版本是gcc9。再继续向下。

       到解压后的redis目录中进行编译 make

  •  
  • 5.编译时若出现以下提示,首次报错莫生气,下面还有报错该错误仅仅说明未安装gcc,我们安装好就行了呗

      

  • 6.安装gcc,这时使用命令 yum install gcc

centos redis 重装 centos redis 安装_Redis_04


安装gcc中途会询问你是安装这个吗,输入y之后回车进行继续安装

centos redis 重装 centos redis 安装_centos redis 重装_05

安装好gcc之后,开开心心重新编译,什么鬼,又出现错误了,还跟之前不一样
稳住,莫慌莫慌,查看相关资源后发现CentOS7默认安装的是4.8.5,而redis6.0只支持5.3以上版本,原来是版本不支持呀,升级版本、升级

  •  
  • 7.CentOS7默认安装的是4.8.5,而redis6.0只支持5.3以上版本,这里将gcc升级到9

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

centos redis 重装 centos redis 安装_x系统_06

centos redis 重装 centos redis 安装_redis_07

 8. gcc终于升级好了,这时千万别忘记要进行版本的切换,升级了新版本肯定是使用新版本喽

我还是很建议进行永久切换这样,别临时切换完成之后重新连接服务器gcc自己又降回去了,就很麻烦啊啊啊
临时切换:scl enable devtoolset-9 bash
永久切换:echo “source /opt/rh/devtoolset-9/enable” >> /etc/profile
切换完成之后重新连接服务器生效,查看gcc版本 gcc -v

centos redis 重装 centos redis 安装_redis_08


 

9.版本切换成功之后,进入redis目录中,重新编译 make install

centos redis 重装 centos redis 安装_redis_09

哎吼吼吼,没有报错,现在来测试redis是否安装成功,出现如下界面表示安装成功(很是喜欢这个图形,吼吼吼)

centos redis 重装 centos redis 安装_x系统_10

 

安装后配置

安装成功之后这里建议你进行端口的修改,redis默认端口容易受到黑客攻击,so,为了服务器的安全,还是修改端口号吧(别问我为什么知道,默默跟着改就行,我是不会骗你的)
把redis.conf 下载到本地进行修改简单方便

    1.更改默认端口
       由port 6379 改为 你自己定义的端口
    2.以后台进程方式启动
       修改daemonize no 为daemonize yes
    3.设置redis远程连接
    (1)先放行你设置的端口号
    (2)注释掉bind 127.0.0.1
    (3)设置redis连接密码:在requirepass foobard改为requirepass mzy1314520,
        mzy1314520为设置的密码,这个密码尽量设置复杂些
   4. 之后启动redis,若你的redis已经启动,则先关闭,按以下方式进行关闭(关闭默认端口)
       停止redis(关闭默认端口): ./redis-cli shutdown
       查找进程号并杀死进城:ps -aux|grep redis kill -9 13985

centos redis 重装 centos redis 安装_redis_11

 

5.在上面的redis目录把redis的一些服务提取安装到自定义目录中,列如:/usr/local/soft/redis
make install PREFIX=/usr/local/soft/redis

centos redis 重装 centos redis 安装_x系统_12

安装完成之后目录如下图所示

centos redis 重装 centos redis 安装_x系统_13

6.redis的启动

指定配置文件启动,进src目录下,输入命令
./redis-server /usr/local/redis-6.0.3/redis.conf

 

连接

    1. 客户端连接
    无端口无密码:./redis-cli
    有端口无密码:./redis-cli -h 127.0.0.1 -p 6399
    有端口有密码:./redis-cli -h 127.0.0.1 -p -a mzy1314520
    连接成功使用ping命令进行测试,返回PONG则成功
 

centos redis 重装 centos redis 安装_x系统_14

2.关闭redis

   关闭的方法是,在客户端连接的情况下,输入命令:

centos redis 重装 centos redis 安装_x系统_15

 

3.本地进行连接测试

centos redis 重装 centos redis 安装_x系统_16

 

centos redis 重装 centos redis 安装_centos redis 重装_17

这样就连接成功了,有默认的16个库

 

Linux Redis 重启数据丢失解决方案  

一、问题说明

在Linux系统中,Redis本来是有数据的,但在Linux系统重启后,Redis中的数据全部丢失。经过几次测试都一样,只有在Linux系统重启才会丢失,Redis重启应该是没有问题的。

这个问题只在Linux系统才存在,在Windows系统是没有问题的。

二、解决方案

在Linux系统设置一个参数(vm.overcommit_memory)即可解决。

步骤如下:

1、编辑 sysctl.conf 配置文件

      vi /etc/sysctl.conf  

2、另起一行增加参数 vm.overcommit_memory 配置,如下

      vm.overcommit_memory = 1

:wq 保存退出

3、使配置文件生效

    sysctl -p  


redis开机自启动的配置:

 

以下测试通过:

centos redis 重装 centos redis 安装_redis_18

1、拷贝 redis 安装目前下的 /usr/local/redis-6.0.3/utils/redis_init_script 到 /etc/init.d/redis文件中;

cp /usr/local/redis-4.0.8/utils/redis_init_script /etc/init.d/redis

2、修改/etc/init.d/redis 文件。修改redis安装的相关文件安装目录

#!/bin/sh
# chkconfig: 2345 10 90
# description: Start and Stop redis

# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis/etc/redis.conf"

centos redis 重装 centos redis 安装_Redis_19

#!/bin/sh
# chkconfig: 2345 10 90
# description: Start and Stop redis

备注:

上面的注释的意思是,redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。从redis 安装目录中拷贝过来,可能没有,需要添加 上去; 否则 chkconfig 命令 会失败;

3、开机启动设置,执行一下命令:

  • 添加redis服务:
chkconfig --add redis
  • 设为开机启动 :
chkconfig redis on
  • 常用命令
service redis start
service redis stop