目录
Linux(Centos8.0)安装Redis
一、下载Redis指定版本的源码压缩包到当前目录
二、解压缩Redis源码压缩包
三、建立一个redis目录的软连接,指向redis-6.0.6
四、进入redis目录
五、编译并测试(编译之前确保操作系统已经安装gcc)
六、安装
配置、启动、操作、关闭Redis
启动Redis
默认配置
运行启动
配置文件启动
Redis命令行客户端
第一种是交互式方式
第二种是命令方式
停止Redis服务
Linux(Centos8.0)安装Redis
- 官网:https://redis.io/
- 复制下载链接
一、下载Redis指定版本的源码压缩包到当前目录
wget http://download.redis.io/releases/redis-6.0.6.tar.gz
二、解压缩Redis源码压缩包
tar -zxvf redis-6.0.6.tar.gz
三、建立一个redis目录的软连接,指向redis-6.0.6
ln -s redis-6.0.6 redis
四、进入redis目录
cd redis
五、编译并测试(编译之前确保操作系统已经安装gcc)
make
- 在/usr/local/目录下创建tcl,进入
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz tar -xzvf tcl8.6.1-src.tar.gz cd /usr/local/tcl/tcl8.6.1/unix ./configure make make install
- 解压后:
- 配置编译后安装
- 进入redis目录再次进行 make test
六、安装
make install
- 有两点要注意:
- 第一,第3步中建立了一个redis目录的软链接,这样做是为了不把redis目录固定在指定版本上,有利于Redis未来版本升级,算是安装软件的一种好习惯。
- 第二,第6步中的安装是将Redis的相关运行文件放到/usr/local/bin/下,这样就可以在任意目录下执行Redis的命令。例如安装后,可以在任何目录执行redis-cli–v查看Redis的版本。
redis-cli -v
配置、启动、操作、关闭Redis
- Redis安装之后,src和/usr/local/bin目录下多了几个以redis开头可执行文件,我们称之为Redis Shell
- 这些可执行文件可以做很多事情:
- 可以启动和停止Redis
- 检测和修复Redis的持久化文件
- 可以检测Redis的性能。
- 下表中分别列出这些可执行文件的说明
启动Redis
- 有三种方法启动Redis:默认配置、运行配置、配置文件启动。
默认配置
- 这种方法会使用Redis的默认配置来启动,下面就是redis-server执行后输出的相关日志:
redis-server
- 可以看到直接使用redis-server启动Redis后,会打印出一些日志,通过日志可以看到一些信息,上例中可以看到:
- 当前的Redis版本的是6.0.6。
- Redis的默认端口是6379。
- Redis建议要使用配置文件来启动。
- 因为直接启动无法自定义配置,所以这种方式是不会在生产环境中使用的。
运行启动
- redis-server加上要修改配置名和值(可以是多对),没有设置的配置将
- 使用默认配置:
redis-server --configKey1 configValue1 --configKey2 configValue2
- 例如,如果要用6380作为端口启动Redis,那么可以执行:
redis-server --port 6380
- 虽然运行配置可以自定义配置,但是如果需要修改的配置较多或者希望将配置保存到文件中,不建议使用这种方式。
配置文件启动
- 将配置写到指定文件里,例如我们将配置写到了/opt/redis/redis.conf中,那么只需要执行如下命令即可启动Redis:
redis-server /opt/redis/redis.conf
- Redis有60多个配置,这里只给出一些重要的配置
- Redis目录下都会有一个redis.conf配置文件,里面就是Redis的默认配置,通常来讲我们会在一台机器上启动多个Redis,并且将配置集中管理在指定目录下,而且配置不是完全手写的,而是将redis.conf作为模板进行修改。
- 显然通过配置文件启动的方式提供了更大的灵活性,所以大部分生产环境会使用这种方式启动Redis。
Redis命令行客户端
- redis-cli可以使用两种方式连接Redis服务器。
第一种是交互式方式
- 通过redis-cli-h{host}-p{port}的方式连接到Redis服务,之后所有的操作都是通过交互的方式实现,不需要再执行redis-cli了,例如:
redis-cli -h 127.0.0.1 -p 6379 127.0.0.1:6379> set hello world OK 127.0.0.1:6379> get hello "world"
第二种是命令方式
- 用redis-cli-h ip{host}-p{port}{command}就可以直接得到命令的返回结果,例如:
redis-cli -h 127.0.0.1 -p 6379 get hello "world"
- 这里有两点要注意:
- 如果没有-h参数,那么默认连接127.0.0.1;如果没有-p,那么默认6379端口,也就是说如果-h和-p都没写就是连接127.0.0.1:6379这个Redis实例。
- redis-cli是学习Redis的重要工具
停止Redis服务
- Redis提供了shutdown命令来停止Redis服务,例如要停掉127.0.0.1上6379端口上的Redis服务,可以执行如下操作。
redis-cli shutdown
- 可以看到Redis的日志输出如下:
# User requested shutdown... #客户端发出的shutdown命令 * Saving the final RDB snapshot before exiting. #保存RDB持久化文件(有关Redis持久化的特性在1.2节已经进行了简单的介绍,RDB是Redis的一种 持久化方式) * DB saved on disk #将RDB文件保存在磁盘上 # Redis is now ready to exit, bye bye... #关闭
- 当使用redis-cli再次连接该Redis服务时,看到Redis已经“失联”。
- 这里有三点需要注意一下:
- Redis关闭的过程:断开与客户端的连接、持久化文件生成,是一种相对优雅的关闭方式。
- 除了可以通过shutdown命令关闭Redis服务以外,还可以通过kill进程号的方式关闭掉Redis,但是不要粗暴地使用kill-9强制杀死Redis服务,不但不会做持久化操作,还会造成缓冲区等资源不能被优雅关闭,极端情况会造成AOF和复制丢失数据的情况。
- shutdown还有一个参数,代表是否在关闭Redis前,生成持久化文件:
redis-cli shutdown nosave|save
- 参考:《Redis开发与运维》