安装&配置
# 安装&配置
# 官网
# 从源码安装 🔥
下载、解压、编译 Redis:
$ wget https://download.redis.io/releases/redis-6.2.1.tar.gz
$ tar xzf redis-6.2.1.tar.gz
$ cd redis-6.2.1
$ make
2
3
4
现在编译的二进制文件可以在 src 目录中找到。运行:
$ src/redis-server [redis.conf]
你可以使用内置的客户端与 Redis 进行交互
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
2
3
4
5
一般推荐创建 conf、data 目录
# Docker—暂不推荐 🔥
目前了解到的配置不够,暂不推荐
参考文档
docker pull redis
使用 docker compose 可以参考 Google 搜索结果,或如下(不是最新的 compose 文件了)
version: '3.1'
services:
redis:
image: redis
restart: 'no'
ports:
- 6379:6379
2
3
4
5
6
7
8
启动 Redis 容器
- 执行
docker compose up -d下载启动即可
进入 Redis 容器,使用 cli
- 执行
docker exec -it b2 redis-cli。当然也可以进入 bash 后执行redis-cli
# Windows 版
只能使用 Github 上维护的版本!还算新!
解压直接可以使用:
- redis.windows.conf:配置文件
- redis-cli.exe:redis 的客户端
- redis-server.exe:redis 服务器端
# 配置 🔥
# 简介
Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf。你可以通过 CONFIG 命令查看或设置配置项。
CONFIG GET CONFIG_SETTING_NAME
使用如下命令保存配置到 redis-6379.conf,并查看
cat redis.conf | grep -v "#" | grep -v "^$" > redis-6379.conf
也可以之间使用 * 号获取所有配置项
config get *
你可以通过修改 redis.conf 文件或使用 CONFIG SET 命令来修改配置。
CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
常见配置
protected-mode no # 允许外网访问
# bind 127.0.0.1 # 必须去掉,允许外网访问。当然可以配置上,只允许内网访问。根据 ps 的内容可以看出区别
port 6379
daemonize yes
logfile "/usr/local/redis-6.2.1/logs/redis-6379.log"
dir ./data # 也可以设置为绝对路径
2
3
4
5
6
# 服务端配置
bind—IP
这里是值允许访问的 IP,类似白名单!绑定后只允许该 IP 访问了
bind 127.0.0.11port—端口
port 63791daemonize—守护进程
默认为 no,会在启动后会在控制台打印日志。改为 yes 后,需要配置日志文件名称
daemonize no1logfile—日志文件名称
logfile ""1dir—数据库文件存放目录
dir ./1databases—数据库数量
databases 161
# 日志配置
设置服务器以指定日志记录级别
loglevel debug|verbose|notice|warning1日志记录文件名
logfile 端口号.log1
注意:日志级别开发期设置为 verbose 即可,生产环境中配置为 notice,简化日志输出量,降低写日志 IO 的频度
# 客户端配置
设置同一时间最大客户端连接数,默认 0 即无限制。当客户端连接到达上限,Redis 会关闭新的连接
maxclients 01客户端闲置等待最大时长,秒,达到最大值后关闭连接。如需关闭该功能,设置为 0
timeout 3001
# 多服务器快捷配置
导入并加载指定配置文件信息,用于快速创建 redis公共配置较多的 redis 实例配置文件,便于维护
include /path/server-端口号.conf1
# 其他配置见具体章节
# 运行 🔥
src/redis-server [conf/redis.conf]
--port 9999指定端口,必须写 src/redis-*,否则无法执行命令。但是推荐在 conf 文件中写好配置!
运行 cli
src/redis-cli -p 9999
# 配置自启动 🔥
参考/usr/local/redis/redis-6.2.1/utils/redis_init_script脚本
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
### BEGIN INIT INFO
# Provides: redis_6379
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Redis data structure server
# Description: Redis data structure server. See https://redis.io
### END INIT INFO
REDISPORT=6379
EXEC=/usr/local/redis/redis-6.2.1/src/redis-server
CLIEXEC=/usr/local/redis/redis-6.2.1/src/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis/redis-6.2.1/conf/${REDISPORT}.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
根据上述提示创建 pid 文件/var/run/redis_6379.pid
6379
复制/usr/local/redis/redis-6.2.1/utils/redis_init_script脚本到/etc/init.d中