企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## Redis 服务器命令 #### BGREWRITEAOF 异步执行一个 AOF(AppendOnly File) 文件重写操作 #### BGSAVE 在后台异步保存当前数据库的数据到磁盘 Redis Bgsave 命令用于在后台异步保存当前数据库的数据到磁盘。 BGSAVE 命令执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。 #### CLIENT KILL ~~~ # 列出所有已连接客户端 redis 127.0.0.1:6379> CLIENT LIST addr=127.0.0.1:43501 fd=5 age=10 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client # 杀死当前客户端的连接 redis 127.0.0.1:6379> CLIENT KILL 127.0.0.1:43501 OK # 之前的连接已经被关闭,CLI 客户端又重新建立了连接 # 之前的端口是 43501 ,现在是 43504 redis 127.0.0.1:6379> CLIENT LIST addr=127.0.0.1:43504 fd=5 age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client ~~~ #### 连接名字操作 ~~~ # 新连接默认没有名字 redis 127.0.0.1:6379> CLIENT GETNAME (nil) # 设置名字 redis 127.0.0.1:6379> CLIENT SETNAME hello-world-connection OK # 返回名字 redis 127.0.0.1:6379> CLIENT GETNAME "hello-world-connection" # 在客户端列表中查看 redis 127.0.0.1:6379> CLIENT LIST addr=127.0.0.1:36851 fd=5 name=hello-world-connection # <- 名字 age=51 ... # 清除名字 redis 127.0.0.1:6379> CLIENT SETNAME # 只用空格是不行的! (error) ERR Syntax error, try CLIENT (LIST | KILL ip:port) redis 127.0.0.1:6379> CLIENT SETNAME "" # 必须双引号显示包围 OK redis 127.0.0.1:6379> CLIENT GETNAME # 清除完毕 (nil) ~~~ #### Redis Client Slots 命令用于当前的集群状态,以数组形式展示。 ~~~ redis 127.0.0.1:6379> cluster slots 1) 1) (integer) 0 2) (integer) 4095 3) 1) "127.0.0.1" 2) (integer) 7000 4) 1) "127.0.0.1" 2) (integer) 7004 2) 1) (integer) 12288 2) (integer) 16383 3) 1) "127.0.0.1" 2) (integer) 7003 4) 1) "127.0.0.1" 2) (integer) 7007 3) 1) (integer) 4096 2) (integer) 8191 3) 1) "127.0.0.1" 2) (integer) 7001 4) 1) "127.0.0.1" 2) (integer) 7005 4) 1) (integer) 8192 2) (integer) 12287 3) 1) "127.0.0.1" 2) (integer) 7002 4) 1) "127.0.0.1" 2) (integer) 7006 ~~~ #### 修改配置 Redis Config rewrite 命令对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写。 CONFIG SET 命令可以对服务器的当前配置进行修改, 而修改后的配置可能和 redis.conf 文件中所描述的配置不一样, CONFIG REWRITE 的作用就是通过尽可能少的修改, 将服务器当前所使用的配置记录到 redis.conf 文件中。 #### 语法 `redis 127.0.0.1:6379> CONFIG REWRITE parameter` ~~~ 127.0.0.1:6379> CONFIG GET appendonly # appendonly 处于关闭状态 1) "appendonly" 2) "no" 127.0.0.1:6379> CONFIG SET appendonly yes # 打开 appendonly OK 127.0.0.1:6379> CONFIG GET appendonly 1) "appendonly" 2) "yes" 127.0.0.1:6379> CONFIG REWRITE # 将 appendonly 的修改写入到 redis.conf 中 OK ~~~ #### DBSIZE 返回当前数据库的 key 的数量 ~~~ redis 127.0.0.1:6379> DBSIZE (integer) 5 redis 127.0.0.1:6379> SET new_key "hello_moto" # 增加一个 key 试试 OK redis 127.0.0.1:6379> DBSIZE (integer) 6 ~~~ #### FLUSHALL 删除所有数据库的所有key ~~~ redis 127.0.0.1:6379> DBSIZE # 0 号数据库的 key 数量 (integer) 9 redis 127.0.0.1:6379> SELECT 1 # 切换到 1 号数据库 OK redis 127.0.0.1:6379> DBSIZE # 1 号数据库的 key 数量 (integer) 6 redis 127.0.0.1:6379> flushall # 清空所有数据库的所有 key OK redis 127.0.0.1:6379> DBSIZE # 不但 1 号数据库被清空了 (integer) 0 redis 127.0.0.1:6379> SELECT 0 # 0 号数据库(以及其他所有数据库)也一样 OK redis 127.0.0.1:6379> DBSIZE (integer) 0 ~~~ #### FLUSHDB 删除当前数据库的所有key ~~~ redis 127.0.0.1:6379> DBSIZE # 清空前的 key 数量 (integer) 4 redis 127.0.0.1:6379> FLUSHDB OK redis 127.0.0.1:6379> DBSIZE # 清空后的 key 数量 (integer) 0 ~~~ ROLE 返回主从实例所属的角色 Redis Slaveof 命令可以将当前服务器转变为指定服务器的从属服务器(slave server)。 如果当前服务器已经是某个主服务器(master server)的从属服务器,那么执行 SLAVEOF host port 将使当前服务器停止对旧主服务器的同步,丢弃旧数据集,转而开始对新主服务器进行同步。 另外,对一个从属服务器执行命令 SLAVEOF NO ONE 将使得这个从属服务器关闭复制功能,并从从属服务器转变回主服务器,原来同步所得的数据集不会被丢弃。 利用『 SLAVEOF NO ONE 不会丢弃同步所得数据集』这个特性,可以在主服务器失败的时候,将从属服务器用作新的主服务器,从而实现无间断运行。 ~~~ redis 127.0.0.1:6379> SLAVEOF 127.0.0.1 6379 OK redis 127.0.0.1:6379> SLAVEOF NO ONE OK ~~~ #### SELECT 选择数据库 #### KEYS * 获取数据库中的所有keys