Redis-版本选择与安装

6,060 阅读4分钟

Redis的版本选择与安装

在Redis的版本计划中,版本号第二位为奇数,为非稳定版本,如2.7、2.9、3.1;版本号第二为偶数,为稳定版本如2.6、2.8、3.0;一般来说当前奇数版本是下一个稳定版本的开发版本,如2.9是3.0的开发版本。

同时Redis的安装也非常简单,到Redis的官网(Download | Redis),下载对应的版本,简单几个命令安装即可。

image.png

Redis的linux安装

wget https://download.redis.io/releases/redis-6.2.7.tar.gz
tar xzf redis-6.2.7.tar.gz
cd redis-6.2.7/
make

image.png

image.png

安装后源码和执行目录会混在一起,为了方便,我做了一次install

make install PREFIX=/home/lijin/redis/redis

image.png

image.png

因为Redis的安装一般来说对于系统依赖很少,只依赖了Linux系统基本的类库,所以安装很少出问题

安装常见问题

如果执行make命令报错:cc 未找到命令,原因是虚拟机系统中缺少gcc,执行下面命令安装gcc:

yum -y install gcc automake autoconf libtool make

如果执行make命令报错:致命错误:jemalloc/jemalloc.h: 没有那个文件或目录,则需要在make指定分配器为libc。执行下面命令即可正常编译:

make MALLOC=libc

Redis的启动

Redis编译完成后,会生成几个可执行文件,这些文件各有各的作用,我们现在先简单了解下,后面的课程会陆续说到和使用这些可执行文件。

image.png

image.png

一般来说redis-server和redis-cli这些平时用得最多。

Redis有三种方法启动Redis:默认配置、带参数启动、配置文件启动。

默认配置

使用Redis的默认配置来启动,在bin目录下直接输入 ./redis-server

image.png

可以看到直接使用redis-server启动Redis后,会打印出一些日志,通过日志可以看到一些信息:

当前的Redis版本的是64位的6.2.7,默认端口是6379。Redis建议要使用配置文件来启动。

因为直接启动无法自定义配置,所以这种方式是不会在生产环境中使用的。

带参数启动

redis-server加上要修改配置名和值(可以是多对),没有设置的配置将使用默认配置,例如:如果要用6380作为端口启动Redis,那么可以执行:

./redis-server --port 6380

image.png

这种方式一般我们也用得比较少。

配置文件启动

配置文件是我们启动的最多的模式,配置文件安装目录中有

image.png

复制过来

image.png

改一下权限

image.png

通过配置文件来启动

./redis-server ../conf/redis.conf

注意:这里对配置文件使用了相对路径,绝对路径也是可以的。

同时配置文件的方式可以方便我们改端口,改配置,增加密码等。

image.png

打开注释,设置为自己的密码,重启即可

操作

Redis服务启动完成后,就可以使用redis-cli连接和操作Redis服务。redis-cli可以使用两种方式连接Redis服务器。

1、单次操作

用redis-cli -hip {host} -p{port} {command}就可以直接得到命令的返回结果,例如:

那么下一次要操作redis,还需要再通过redis-cli。

image.png

2、命令行操作

image.png

通过redis-cli -h (host}-p {port}的方式连接到Redis服务,之后所有的操作都是通过控制台进行,例如:

image.png

我们没有写-h参数,那么默认连接127.0.0.1;如果不写-p,那么默认6379端口,也就是说如果-h和-p都没写就是连接127.0.0.1:6379这个 Redis实例。

停止

Redis提供了shutdown命令来停止Redis服务,例如我们目前已经启动的Redis服务,可以执行:

./redis-cli -p 6379 shutdown

redis服务端将会显示:

image.png

除了可以通过shutdown命令关闭Redis服务以外,还可以通过kill进程号的方式关闭掉Redis,但是强烈不建议使用kill -9强制杀死Redis服务,不但不会做持久化操作,还会造成缓冲区等资源不能被优雅关闭,极端情况会造成AOF和复制丢失数据的情况。如果是集群,还容易丢失数据。

同样还可以在命令行中执行shutdown指令

image.png

shutdown还有一个参数,代表是否在关闭Redis前,生成持久化文件,缺省是save,生成持久化文件,如果是nosave则不生成持久化文件

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第25天,点击查看活动详情