Redis 管理服务

本文最后更新于:2024年3月18日 凌晨

Redis 管理服务

启动Redis

  • Redis 通过监听一个 TCP 端口或者 Unix Socket 的方式来接收来自客户端的连接,当一个连接建立后,Redis 内部会进行以下一些操作:
    • 首先,客户端 Socket 会被设置为非阻塞模式,因为 Redis 在网络事件处理上采用的是非阻塞多路复用模型。
    • 然后为这个 Socket 设置TCP_NODELAY属性,禁用 Nagle 算法。
    • 然后创建一个可读的文件事件用于监听这个客户端 Socket 的数据发送。

redis-server

  • 使用默认配置文件启动Redis
1
$ redis-server
  • 指定配置文件启动Redis
1
$ redis-server 配置文件位置。

最大连接数

  • 在 Redis2.4 中,最大连接数是被直接硬编码在代码里面的,而在2.6版本中这个值变成可配置的。
  • maxclients 的默认值是 10000,你也可以在 redis.conf 中对这个值进行修改。
1
2
3
$ config get maxclients
1) "maxclients"
2) "10000"

实例

  • 以下实例我们在服务启动时设置最大连接数为 100000:
1
$ redis-server --maxclients 100000

连接Redis

redis-cli

1
2
$ redis-cli
$ redis-cli -h host -p port -a password

实例

  • 连接本地的 Redis 服务。
1
2
3
4
5
$ redis-cli
redis 127.0.0.1:6379>
$ PING

PONG
  • 以下实例演示了如何连接到主机为 127.0.0.1,端口为 6379 ,密码为 mypass 的 Redis 服务上。
1
2
3
4
5
$ redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
redis 127.0.0.1:6379>
$ PING

PONG

Redis 服务器命令

  • 下表列出了 Redis 服务器的相关命令:
序号 命令及描述
1 BGREWRITEAOF 异步执行一个 AOF(AppendOnly File)文件重写操作
2 BGSAVE 在后台异步保存当前数据库的数据到磁盘
3 CLIENT KILL [ip:port] [ID client-id] 关闭客户端连接
4 CLIENT LIST 获取连接到服务器的客户端连接列表
5 CLIENT GETNAME 获取连接的名称
6 CLIENT PAUSE timeout 在指定时间内终止运行来自客户端的命令
7 CLIENT SETNAME connection-name 设置当前连接的名称
8 CLUSTER SLOTS 获取集群节点的映射数组
9 COMMAND 获取 Redis 命令详情数组
10 COMMAND COUNT 获取 Redis 命令总数
11 COMMAND GETKEYS 获取给定命令的所有键
12 TIME 返回当前服务器时间
13 [COMMAND INFO command-name command-name …] 获取指定 Redis 命令描述的数组
14 CONFIG GET parameter 获取指定配置参数的值
15 CONFIG REWRITE 对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写
16 CONFIG SET parameter value 修改 redis 配置参数,无需重启
17 CONFIG RESETSTAT 重置 INFO 命令中的某些统计数据
18 DBSIZE 返回当前数据库的 key 的数量
19 DEBUG OBJECT key 获取 key 的调试信息
20 DEBUG SEGFAULT 让 Redis 服务崩溃
21 FLUSHALL 删除所有数据库的所有key
22 FLUSHDB 删除当前数据库的所有key
23 [INFO section] 获取 Redis 服务器的各种信息和统计数值
24 LASTSAVE 返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示
25 MONITOR 实时打印出 Redis 服务器接收到的命令,调试用
26 ROLE 返回主从实例所属的角色
27 SAVE 同步保存数据到硬盘
28 SHUTDOWN [NOSAVE] [SAVE] 异步保存数据到硬盘,并关闭服务器
29 SLAVEOF host port 将当前服务器转变为指定服务器的从属服务器(slave server)
30 [SLOWLOG subcommand argument] 管理 redis 的慢日志
31 SYNC 用于复制功能(replication)的内部命令

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!