Centos7.x 在线安装Redis

一、下载Redis

官网下载地址: https://redis.io/download

# 进入控制台,切换目录到自定义的软件下载存放目录
cd /home/mysoftware/redis
# 执行下载命令
wget http://download.redis.io/releases/redis-5.0.7.tar.gz

二、安装Redis

1、解压

# 下载完成后执行解压命令
tar -zvxf redis-5.0.7.tar.gz
# 查看解压后的文件,多了一个redis-5.0.7文件夹
ls

2、自定义安装目录

通常将redis安装到到 /usr/local/redis目录

# 移动并重命名
mv redis-5.0.7 /usr/local/redis

3、编译

# 切换至安装包目录
cd /usr/local/redis
# 执行编译
make

如果报错如下:说明缺少gcc环境

执行下面命令安装gcc-c++依赖

# 安装c++依赖
yum install gcc-c++

安装完执行make,如果还报错,则执行下面命令

# 清除上次编译失败的文件并重新编译
make distclean  && make

编译成功

说明:上面错误的本质是我们在执行make编译时由于缺少gcc依赖导致错误,安装gcc 后,再次执行make编译 ,出现jemalloc/jemalloc.h: No such file or directory,是因为上次的编译失败后有残留的文件,清理后重新编译即可。

4、安装

# 执行安装命令
make PREFIX=/usr/local/redis install

说明: PREFIX= 关键字的作用是编译时用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。其他的资源文件会存放在usr/local/share目录。这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。

5、启动redis

# 在/usr/local/redis目录下执行启动命令 

# 使用bin目录下的redis-server和redis-cli,读取配置文件不生效
./bin/redis-server ./redis.conf
# 使用src目录下的redis-server和redis-cli,读取配置文件生效
./src/redis-server ./redis.conf

上面的启动方式是采取后台进程方式

下面是采取显示启动方式(如在配置文件设置了daemonize属性为yes则与后台进程方式启动一样)。

两种方式区别无非是有无带符号&的区别。 redis-server 后面是配置文件,目的是根据该配置文件的配置启动redis服务。redis.conf配置文件允许自定义多个配置文件,通过启动时指定读取哪个即可。

6、redis.conf配置文件

# 配置文件redis.conf存在路径,可通过vim、vi、cat等方式查看或编辑配置信息cd /usr/local/redis# 通过redis-cli命令进入redis控制台后通过CONFIG GET * 的方式读取所有配置项./redis-cliconfig get *

配置项说明:

配置项名称 可选值 说明
daemonize yes、no yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行
port 指定 Redis 监听端口,默认端口为 6379
bind 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。
protected-mode yes 、no 保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。
timeout 300 当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能
loglevel debug、verbose、notice、warning 日志级别,默认为 notice
databases 16 设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到
rdbcompression yes、no 指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。
dbfilename dump.rdb 指定本地数据库文件名,默认值为 dump.rdb
dir 指定本地数据库存放目录
requirepass 设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH 命令提供密码,默认关闭
maxclients 0 设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。
maxmemory XXX 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。
vim /usr/local/redis/redis.conf# 设置为守护进程,不然每次启动都得在redis-server命令后面加符号&daemonize:yes# 取消访问ip绑定限制# bind:127.0.0.1# 取消保护模式,外网可访问protected-mode no

7、查看Redis是否正在运行

1、采取查看进程方式

ps -ef | grep redis

结果如下图:

8、关闭运行中的Redis服务

输入redis-cli 进入控制台后输入命令shutdown即可关闭运行中的Redis服务了。如下图:

Redis使用ip无法连接问题解决办法:

# 注释掉bind# bind 127.0.0.1# 将默认的yes设置为noprotected-mode no# 为redis设置密码requirepass redis
posted @ 2021-07-01 10:43  码农小匠  阅读(233)  评论(0编辑  收藏  举报