环境

阿里云:Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-77-generic x86_64)

安装方式

Redis安装方式有多种:一种是通过apt仓库;一种是下载源码,编译安装;如果使用Mac电脑,还可以通过homebrew安装。

一. apt库

命令:

sudo apt-get update
sudo apt-get install redis-server

这种安装方式已经设置好开机自启动,所以不用再去单独设置。

二. 源码的方式

下载Redis

官网下载链接 https://redis.io/download

选择最新的稳定版:
在这里插入图片描述

右键,获取下载链接,然后下载,解压,编译:

cd /opt

# 下载
wget https://download.redis.io/releases/redis-6.2.5.tar.gz

# 解压
tar -xzf redis-6.2.5.tar.gz

cd redis-6.2.5

编译

# 编译
make

编译好,会输出下面的内容:

...
Hint: It's a good idea to run 'make test' ;)

make[1]: Leaving directory '/opt/redis-6.2.5/src'

手动安装

输入以下命令

make PREFIX=/opt/redis-6.2.5 install

这里多了一个关键字 PREFIX= ,这个关键字的作用是编译的时候用于指定程序存放的路径。

比如,指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录,配置文件会存放在/usr/local/etc目录,其他的资源文件会存放在usr/local/share目录。

这里指定号目录也方便后续的卸载,后续直接rm -rf /opt/redis-6.2.5即可删除redis。

输出:

cd src && make install
make[1]: Entering directory '/opt/redis-6.2.5/src'
/bin/sh: 1: pkg-config: not found
    CC Makefile.dep
/bin/sh: 1: pkg-config: not found

Hint: It's a good idea to run 'make test' ;)

    INSTALL redis-server
    INSTALL redis-benchmark
    INSTALL redis-cli
make[1]: Leaving directory '/opt/redis-6.2.5/src'
注意

如果报错:

make: *** No rule to make target 'install'.  Stop.

解决:
进入/opt/redis-6.2.5 文件夹内,再执行上面的命令,就可以解决;

启动测试

在 /opt/redis-6.2.5 路径下,执行下面命令:
执行redis-server 启动redis

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

redis-server 后面参数是配置文件路径,目的是根据该配置文件的配置启动redis服务。redis.conf配置文件允许自定义多个配置文件,通过启动时指定读取哪个即可。

输出如下:

287812:C 12 Sep 2021 20:38:36.220 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
287812:C 12 Sep 2021 20:38:36.220 # Redis version=6.2.5, bits=64, commit=00000000, modified=0, pid=287812, just started
287812:C 12 Sep 2021 20:38:36.220 # Configuration loaded
287812:M 12 Sep 2021 20:38:36.220 * monotonic clock: POSIX clock_gettime
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 6.2.5 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                  
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 287812
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           https://redis.io       
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

287812:M 12 Sep 2021 20:38:36.221 # Server initialized
287812:M 12 Sep 2021 20:38:36.221 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
287812:M 12 Sep 2021 20:38:36.221 * Ready to accept connections

上面显示可以启动成功,说明安装好了。

后台启动redis

方法1:后台进程方式

执行redis-server 启动redis,命令后加个 &。

./bin/redis-server ./redis.conf &
方法2:显示启动方式

在配置文件设置了daemonize属性为yes。

查看redis是否运行

查看进程

ps -ef | grep redis

查看端口

netstat -lanp | grep 6379

关闭运行中的Redis服务

推荐: 输入redis-cli 进入控制台后输入命令shutdown即可关闭运行中的Redis服务了,

或者,暴力方法:杀掉进程。
下面的PID用真实的替换:

kill -9 PID

设置为开机启动

参考下面的文章

ubuntu上设置Redis开机自启

三. homebrew安装与启动redis

检查是否安装成功

brew list | grep -i redis

安装

brew install redis

检测已启动的项目

brew services list

启动

brew services start redis

使用brew命令关闭redis服务

brew services stop redis

扩展

redis.conf配置文件

查看配置

通过redis-cli命令进入redis控制台后通过CONFIG GET * 的方式读取所有配置项。

redis-cli
CONFIG GET *

输入exit可以退出redis脚本控制台。

如果提示Command ‘redis-cli’ not found,通过下面的命令安装:

apt install redis-tools

重要的配置说明

这里列举下比较重要的配置项

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

修改redis密码

临时修改密码

1、进入redis操作的命令行
运行命令:redis-cli

2、查看现有的redis密码(可选操作,可以没有)
运行命令:config get requirepass,如果没有设置过密码的话,运行结果会如下所示

127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""

3、设置redis密码
运行命令:

config set requirepass ****(****为你要设置的密码)

设置成功的话会返回‘OK’字样

4、再次查看当前redis就提示需要密码:
127.0.0.1:6379> config get requirepass
(error) NOAUTH Authentication required.

5、exit退出当前的命令行模式后运行命令进入,即可有权限查看:

redis-cli -h 127.0.0.1 -p 6379 -a ****(****为你新设置的密码)

或者,这样安全一些,推荐下面的写法:

redis-cli -h 127.0.0.1 -p 6379
auth ****(****为你新设置的密码)

注:这种方式redis服务一关闭,密码就清空或者恢复为你配置文件里面的密码。下面的第6步可以解决这个问题

6、但是也可以通过,下面的命令,把密码写到配置文件,系统重启时密码也不会丢失:

127.0.0.1:6379> config rewrite
OK

永久修改密码

打开redis配置文件redis.conf,在里面找到requirepass,这个是设置redis访问的密码的,把注释去掉,并把foobared改成你想要的密码。
然后,重启redis服务。

再此进入:

redis-cli -h 127.0.0.1 -p 6379
auth ****(****为你新设置的密码)

查看redis版本号

Linux下查看

linux下查看redis的版本有两种方式:

查看服务端版本
二者都可以

redis-server -v

redis-server --version
查看客户端版本
二者都可以

redis-cli -v

redis-cli --version
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐