Redis 学习笔记四 命令五
- Redis 连接
- Redis 服务器
-
- Redis Bgrewriteaof 命令
- Redis Bgsave 命令
- Redis Client Kill 命令
- Redis Client List 命令
- Redis Client Getname 命令
- Redis Client Pause 命令
- Redis Client Setname 命令
- Redis Cluster Slots 命令
- Redis Command 命令
- Redis Command Count 命令
- Redis Command Getkeys 命令
- Redis Time 命令
- Redis Command Info 命令
- Redis Config Get 命令
- Redis COnfig rewrite 命令
- Redis Cofig Set 命令
- Redis Config Resetstat 命令
- Redis Dbsize 命令
- Redis Debug Object 命令
- Redis Debug Segfault 命令
- Redis Flushall 命令
- Redis Flushdb 命令
- Redis Info 命令
- Redis Lastsave 命令
- Redis Monitor 命令
- Redis Role 命令
- Redis Save 命令
- Redis Shutdown 命令
- Redis Slaveof 命令
- Redis Slowlog 命令
- Redis Sync 命令
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