前提条件:服务器支持 make、tar等命令
redis安装包下载:Releases · redis-stack/redis-stack (github.com),通过远程工具上传到服务器
1、redis安装
1.1 首先解压安装包,命令如下
tar xzf redis-6.2.13.tar.gz ,本人把解压后的文件夹重命名为 redis, 重命名命令:
mv 源文件夹名称 修改后的名称
如:
mv redis-6.2.13 redis
1.2 进入解压文件目录使用make
命令对解压的 redis 文件进行编译,如下
1.3 编译完成之后,可以看到解压文件 redis 中会有对应的 src、conf 等文件,如下
1.4编译成功后,进入 src 文件夹,执行 make install 进行 Redis 安装。
cd src/
make install
安装完成后,显示如下
注:如出现
/bin/sh: cc: command not found
错误,是因为没有安装 gcc 环境,使用命令yum install gcc
安装 gcc 环境即可。
至此redis 安装完成了。
2、redis服务启动
2.1 首先需要介绍redis配置文件 redis.conf
# redis进程是否以守护进程的方式运行,yes为是,no为否(不以守护进程的方式运行会占用一个终端)。
daemonize no
# 指定redis进程的PID文件存放位置
pidfile /var/run/redis.pid
# redis进程的端口号
port 6379
#是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。要是开启了密码和bind,可以开启。否则最好关闭设置为no。
protected-mode yes
# 绑定的主机地址,最好替换成自己对外可访问的地址
bind 127.0.0.1
# 客户端闲置多长时间后关闭连接,默认此参数为0即关闭此功能
timeout 300
# redis日志级别,可用的级别有debug.verbose.notice.warning
loglevel verbose
# log文件输出位置,自定义文件名称以及路径,本人是redis文件夹下面创建的。redis启动前最好#创建好文件,要不启动会报错
logfile "logs/log.out"
# 设置数据库的数量,默认为0可以使用select <dbid>命令在连接上指定数据库id
databases 16
# 指定在多少时间内刷新次数达到多少的时候会将数据同步到数据文件
save <seconds> <changes>
# 指定存储至本地数据库时是否压缩文件,默认为yes即启用存储
rdbcompression yes
# 指定本地数据库文件名
dbfilename dump.db
# 指定本地数据问就按存放位置
dir ./
#主从配置需要,单机服务可注释。 指定当本机为slave服务时,设置master服务的IP地址及端口,在redis启动的时候他会自动跟#master进行数据同步
replicaof <masterip> <masterport>
# 当master设置了密码保护时,slave服务连接master的密码
masterauth <master-password>
# 设置redis连接密码,如果配置了连接密码,客户端在连接redis是需要通过AUTH<password>命令提供密码,默认关闭
requirepass footbared
# 设置同一时间最大客户连接数,默认无限制。redis可以同时连接的客户端数为redis程序可以打开的最大文件描述符,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回 max number of clients reached 错误信息
maxclients 128
# 指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key。当此方法处理后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,会把Key存放内存,Value会存放在swap区
maxmemory<bytes>
# 指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no。
appendonly no
# 指定跟新日志文件名默认为appendonly.aof
appendfilename appendonly.aof
# 指定更新日志的条件,有三个可选参数 - no:表示等操作系统进行数据缓存同步到磁盘(快),always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全), everysec:表示每秒同步一次(折衷,默认值);
appendfsync everysec
2.2启动redis
由于 src 下文件非常多,我们可以将几个常用的命令和 conf 配置文件复制出来进行统一管理,如下:
(1)新建 bin和redisconf 文件夹
cd /redis
mkdir bin
mkdir redisconf
(2)回到安装目录/reddis,将redis.conf
复制到 redisconf 文件夹下
cp redis.conf redisconf
(3)进入 src 文件夹下,将mkreleasehdr.sh
、redis-benchmark
、redis-check-aof
、redis-check-rdb
、redis-cli
、redis-server
、redis-sentinel
文件复制到 bin 文件夹
cd src/
cp redis-cli redis-server redis-sentinel ../bin/
查看复制后的文件,如下
(4)启动redis服务
redis-server ../redisconf/redis.conf
利用redis-server 启动服务 ,后面是指定配置文件所在路径
可以到日志文件中查看启动结果:配置文件中 logfile 配置的路径
尝试连接:
redis-cli -h ip -p 端口号