1. 前言
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
Redis用来作为缓存。
- 内存存储、持久化,内存中断电即失,持久化很重要。
- 效率高、高速缓存
- 发布订阅系统(中间件MQ)
- 地图信息分析
- 计时器、计数器
Redis是单线程的。
2. 安装
Redis版本5.0.x包含在默认的Ubuntu 20.04存储库中。
sudo apt update sudo apt install redis-server
安装完成后,Redis服务将自动启动。 要检查服务的状态,请输入以下命令:
sudo systemctl status redis-server
如果您的服务器上禁用了IPv6,Redis服务将无法启动。
3. 配置Redis远程访问
默认情况下,Redis服务器不接受远程连接。 您只能从运行Redis的计算机
127.0.0.1
(localhost)连接到Redis。如果您使用的是单一服务器设置,并且连接数据库的客户端也在同一主机上运行,则不应启用远程访问。
要配置Redis接受远程连接,请使用文本编辑器打开Redis配置文件:
sudo vim /etc/redis/redis.conf
找到以
bind 127.0.0.1 ::1
开头的行并对其进行注释。 /etc/redis/redis.conf
# 1. 将protected-mode yes改为protected-mode no # 2. 注掉bind 127.0.0.1 ::1
如果你的服务器有局域网 IP,并且你想要 Redis 从局域网可以访问 Redis,在这一行后面加上服务器局域网 IP 地址。
保存这个文件,并且重启 Redis 服务,使应用生效:
sudo systemctl restart redis-server
ss -an | grep 6379
您应该看到类似以下的内容。
0.0.0.0
表示计算机上的所有IPv4地址。tcp LISTEN 0 511 0.0.0.0:6379 0.0.0.0:* tcp LISTEN 0 511 [::]:6379 [::]:*
下面配置根据需要设置(我没有设置)
下一步,你将需要配置你的防火墙,允许网络流量通过 TCP 端口
6379
。通常你想要允许从一个指定 IP 地址或者一个指定 IP 范围来访问 Redis 服务器。例如,想要允许从
192.168.92.0/24
的连接,运行下面的命令:sudo ufw allow proto tcp from 192.168.92.0/24 to any port 6379
确保你的防火墙被配置仅仅接受来自受信任 IP 的连接。
此时,你应该可以从远程位置通过 TCP 连接到 Redis 的 6379 端口。
验证
想要验证所有设置都设置好了,你可以尝试使用
redis-cli
从你的远程机器上 ping 一下 Redis 服务器。# redis-cli -h <REDIS_IP_ADDRESS> ping redis-cli -h 192.168.92.145 ping redis-cli -h 127.0.0.1 ping redis-cli -h 192.168.92.145 -p 6379
这个命令将会返回一个响应:
PONG
PONG
外部连接查看
使用vscode中redis插件连接