Redis 学习笔记四 命令五

这篇博客详细介绍了 Redis 的连接与服务器管理命令,包括 AUTH、ECHO、PING、QUIT 和 SELECT 等基本连接命令,以及 BGSAVE、CLIENT KILL、INFO 等服务器管理命令的使用方法和实例,帮助读者掌握 Redis 的基本操作。
摘要由CSDN通过智能技术生成

Redis 连接

Redis 连接命令主要适用于连接 redis 服务

实例

以下实例演示了客户端如何通过密码验证连接到 redis 服务,并检测服务是否在运行:

redis 127.0.0.1:6379> AUTH "password"
OK
redis 127.0.0.1:6379> PING
PONG

AUTH password

Redis Auth 命令用于检测给定的密码和配置文件中的密码是否相等。

语法

redis Auth 命令基本语法如下:

redis 127.0.0.1:6379> AUTH PASSWORD 

可用版本
>= 1.0.0

返回值

密码匹配时返回 OK,否则返回一个错误

实例

redis 127.0.0.1:6379> AUTH PASSWORD
(error) ERR Client sent AUTH, but no password is set
redis 127.0.0.1:6379> CONFIG SET requirepass "mypass"
OK
redis 127.0.0.1:6379> AUTH mypass
Ok

Redis Echo 命令

Redis Echo 命令用于打印给定的字符串。

语法

redis 127.0.0.1:6379> ECHO message

可用版本
>= 1.0.0

返回值

返回字符串本身

实例

redis 127.0.0.1:6379> ECHO "Hello World"
"Hello World"

Redis Ping 命令

Redis Ping 命令使用客户端 Redis 服务器发送一个 PING,如果服务器正常运作正常的话,会返回一个 PONG。

通常用于测试与服务器的连接是否仍然生效,或者用于测量延迟值。

语法

redis Ping 命令基本语法如下:

redis 127.0.0.1:6379> PING 

可用版本
>= 1.0.0

返回值

如果连接正常就返回一个 PONG ,否则回一个连接错误。

实例

# 客户端和服务器连接正常

redis 127.0.0.1:6379> PING
PONG

# 客户端和服务器连接不正常(网络不正常或服务器未能正常运行)

redis 127.0.0.1:6379> PING
Could not connect to Redis at 127.0.0.1:6379: Connection refused

Redis Quit 命令

Redis Quit 命令用于关闭与当前客户端与 redis 服务的连接。

一旦所有等待中的回复(如果有的话)顺利写入到客户端,连接就会被关闭。

语法

redis Quit 命令基本语法如下:

redis 127.0.0.1:6379> QUIT 

可用版本
>= 1.0.0

返回值

总是返回 OK。

实例

redis 127.0.0.1:6379> QUIT
OK

Redis Select 命令

Redis Select 命令用于切换指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值。

语法

redis Select 命令基本语法如下:

redis 127.0.0.1:6379> SELECT index 

可用版本
>= 1.0.0

返回值

总是返回 OK。

实例

redis 127.0.0.1:6379> SET db_number 0         # 默认使用 0 号数据库
OK

redis 127.0.0.1:6379> SELECT 1                # 使用 1 号数据库
OK

redis 127.0.0.1:6379[1]> GET db_number        # 已经切换到 1 号数据库,注意 Redis 现在的命令提示符多了个 [1]
(nil)

redis 127.0.0.1:6379[1]> SET db_number 1
OK

redis 127.0.0.1:6379[1]> GET db_number
"1"

redis 127.0.0.1:6379[1]> SELECT 3             # 再切换到 3 号数据库
OK

redis 127.0.0.1:6379[3]>                      # 提示符从 [1] 改变成了 [3]

Redis 服务器

Redis 服务器命令主要是用于管理 redis 服务。

实例

redis 127.0.0.1:6379> INFO

# Server
redis_version:2.8.13
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:c2238b38b1edb0e2
redis_mode:standalone
os:Linux 3.5.0-48-generic x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.7.2
process_id:3856
run_id:0e61abd297771de3fe812a3c21027732ac9f41fe
tcp_port:6379
uptime_in_seconds:11554
uptime_in_days:0
hz:10
lru_clock:16651447
config_file:

# Clients
connected_clients:1
client-longest_output_list:0
client-biggest_input_buf:0
blocked_clients:0

# Memory
used_memory:589016
used_memory_human:575.21K
used_memory_rss:2461696
used_memory_peak:667312
used_memory_peak_human:651.67K
used_memory_lua:33792
mem_fragmentation_ratio:4.18
mem_allocator:jemalloc-3.6.0

# Persistence
loading:0
rdb_changes_since_last_save:3
rdb_bgsave_in_progress:0
rdb_last_save_time:1409158561
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok

# Stats
total_connections_received:24
total_commands_processed:294
instantaneous_ops_per_sec:0
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
evicted_keys:0
keyspace_hits:41
keyspace_misses:82
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:264

# Replication
role:master
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

# CPU
used_cpu_sys:10.49
used_cpu_user:4.96
used_cpu_sys_children:0.00
used_cpu_user_children:0.01

# Keyspace
db0:keys=94,expires=1,avg_ttl=41638810
db1:keys=1,expires=0,avg_ttl=0
db3:keys=1,expires=0,avg_ttl=0

Redis Bgrewriteaof 命令

Redis Bgrewriteaof 命令用于异步执行一个 AOF(AppendOnly File)文件重写操作。重写会创建一个当前 AOF 文件的体积优化版本。

即使 Bgrewriteaof 执行失败,也不会有任何数据丢失,因为旧的 AOF 文件在 Bgrewriteaof 成功之前不会被修改。

注意:从 Redis 2.4 开始,AOF 重写由 Reids 自行触发,Bgrewriteaof 仅仅用于手动触发重写操作。

语法

redis Bgrewriteaof 命令基本语法如下:

redis 127.0.0.1:6379> BGREWRITEAOF 

可用版本
>= 1.0.0

返回值

反馈信息

实例

redis 127.0.0.1:6379>
Background append only file rewriting started

Redis Bgsave 命令

Redis Bgsave 命令用于在后台异步保存当前数据库的数据到磁盘。

Bgsave 命令执行之后立即返回 OK,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。

语法

redis Bgsave 命令基本语法如下:

redis 127.0.0.1:6379> BGSAVE

可用版本
>= 1.0.0

返回值

反馈信息‘’

实例

redis> BGSAVE
Background saving started

Redis Client Kill 命令

Redis Client Kill 命令用于关闭客户端连接。

语法

redis client kill 命令基本语法如下:

redis 127.0.0.1:6379> CLIENT KILL ip:port

可用版本
>= 2.4.0

返回值

成功关闭时,返回 OK 。

实例

# 列出所有已连接客户端

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 Client List 命令

Redis Client List 命令用于返回所有连接到服务器的客户端信息和统计数据。

语法

redis Client List 命令基本语法如下:

redis 127.0.0.1:6379> CLIENT LIST

可用版本
>= 2.4.0

返回值

命令返回多行字符串,这些制度穿按以下形式被格式化:

  • 每个已连接客户端对应一行(LF分隔)
  • 每行字符串由一系列 属性=值 形式的域组成,每个域之间以空格分开

以下是域的含义:

  • addr:客户端的地址和端口
  • fd:套接字所使用的文件描述符
  • age:以秒计算的已连接时长
  • idle:以秒计算的空闲时长
  • flags:客户端 flag
  • db:该客户端正在使用的数据库ID
  • sub:已订阅的频道的数量
  • psub :已订阅模式的数量
  • multi:在事务中被执行的命令数量
  • qbuf:查询缓冲区的长度(字节为单位,0 表示 没有分配查询缓冲区)
  • qbuf-free:查询缓冲区剩余空间的长度(字节为单位,0表示没有剩余空间)
  • obl:输出缓冲区的长度(字节为单位,0 表示没有分配输出缓冲区)
  • oll:输出列表包含的对象数量(当输出缓冲区没有生育空间时,命令回复会以字符串对象的形式被入队到这个队列里)
  • omen:输出缓冲区和输出列表占用的内存总量
  • events:文件描述符事件
  • cmd :最近一次执行的命令

客户端 flag 可以由以下部分组成:

  • O:客户端是 MONITOR 模式下的附属节点(slave)
  • S:客户端是一般模式下(normal)的附属节点
  • M:客户端是主节点(master)
  • x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值