安装包下载
- 网上搜索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
3.下载完毕之后进行解压 tar -zxvf redis-6.0.3.tar.gz
4.建议此处参看第6个步骤,先安装gcc,并注意版本是gcc9。再继续向下。
到解压后的redis目录中进行编译 make
- 5.编译时若出现以下提示,首次报错莫生气,下面还有报错该错误仅仅说明未安装gcc,我们安装好就行了呗
- 6.安装gcc,这时使用命令 yum install gcc
安装gcc中途会询问你是安装这个吗,输入y之后回车进行继续安装
安装好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
8. gcc终于升级好了,这时千万别忘记要进行版本的切换,升级了新版本肯定是使用新版本喽
我还是很建议进行永久切换这样,别临时切换完成之后重新连接服务器gcc自己又降回去了,就很麻烦啊啊啊
临时切换:scl enable devtoolset-9 bash
永久切换:echo “source /opt/rh/devtoolset-9/enable” >> /etc/profile
切换完成之后重新连接服务器生效,查看gcc版本 gcc -v
9.版本切换成功之后,进入redis目录中,重新编译 make install
哎吼吼吼,没有报错,现在来测试redis是否安装成功,出现如下界面表示安装成功(很是喜欢这个图形,吼吼吼)
安装后配置
安装成功之后这里建议你进行端口的修改,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
5.在上面的redis目录把redis的一些服务提取安装到自定义目录中,列如:/usr/local/soft/redis
make install PREFIX=/usr/local/soft/redis
安装完成之后目录如下图所示
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则成功
2.关闭redis
关闭的方法是,在客户端连接的情况下,输入命令:
3.本地进行连接测试
这样就连接成功了,有默认的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开机自启动的配置:
以下测试通过:
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"
#!/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