帮助中心/最新通知

质量为本、客户为根、勇于拼搏、务实创新

< 返回文章列表

【服务器相关】详解redis-cli 命令

发表时间:2025-06-16 03:46:00 小编:主机乐-Yutio

命令使用:

注意:

-u  选项中url格式参考文档https://www.iana.org/assignments/uri-schemes/prov/redis 

格式为:redis://user:secret@localhost:6379/0?foo=bar&qux=baz

举例:


root@hylaz:~# redis-cli
127.0.0.1:6379> set name hylaz
OK
127.0.0.1:6379> quit
root@hylaz:~# redis-cli -h 127.0.0.1
127.0.0.1:6379> get name
“hylaz”
127.0.0.1:6379> select 6
127.0.0.1:6379[6]>

root@hylaz:~# redis-cli -h 127.0.0.1 -p 6379 -n 2
127.0.0.1:6379[2]> get age

server中统计选项


root@hylaz:~# redis-cli –stat
——- data —— ——————— load ——————– – child –
keys memclients blocked requestsconnections
11 835.52K1 0 12 (+0) 5
11 835.52K1 0 13 (+1) 5
11 835.52K1 0 14 (+1) 5
11 835.52K1 0 15 (+1) 5

列表中选项说明:

选项含义
keysserver中key的数量
mem键值对的总内存量
clients当前连接的总clients数量
blocked当前阻塞的客户端数量
requests服务器请求总次数 (+1) 截止上次请求增加次数
connections服务器连接次数

使用info命令获取服务器的信息

导入rdb文件 命令:redis-cli –rdb rdb.log


root@hylaz:~# redis-cli –rdb rdb.log
SYNC sent to master, writing 344 bytes to ‘rdb.log’
Transfer finished with success.

该命令选项实现:

  • 向server发送SYNC命令,返回需要写的总字节数
  • 从server读取总字节数据写到指定文件中

找出各种数据类型的最大键值对 

命令:redis-cli –big-keys


root@hylaz:~# redis-cli –bigkeys

# Scanning the entire keyspace to find biggest keys as well as
# average sizes per key type.You can use -i 0.1 to sleep 0.1 sec
# per 100 SCAN commands (not usually needed).

[00.00%] Biggest string found so far ‘name1’ with 5 bytes
[00.00%] Biggest setfound so far ‘myset’ with 1 members
[00.00%] Biggest string found so far ‘key’ with 6 bytes

——– summary ——-

Sampled 13 keys in the keyspace!
Total key length in bytes is 52 (avg len 4.00)

Biggest string found ‘key’ has 6 bytes
Biggestset found ‘myset’ has 1 members

12 strings with 33 bytes (92.31% of keys, avg size 2.75)
0 lists with 0 items (00.00% of keys, avg size 0.00)
1 sets with 1 members (07.69% of keys, avg size 1.00)
0 hashs with 0 fields (00.00% of keys, avg size 0.00)
0 zsets with 0 members (00.00% of keys, avg size 0.00)
0 streams with 0 entries (00.00% of keys, avg size 0.00)

该选项实现:通过使用scan命令遍历server中的键值对,针对不同数据类型进行统计,

找出server中热点key 命令:redis-cli –hotkeys


# Scanning the entire keyspace to find hot keys as well as
# average sizes per key type.You can use -i 0.1 to sleep 0.1 sec
# per 100 SCAN commands (not usually needed).

[00.00%] Hot key ‘dd’ found so far with counter 4
[00.00%] Hot key ‘myset’ found so far with counter 5
[00.00%] Hot key ‘a’ found so far with counter 5
[00.00%] Hot key ‘dds’ found so far with counter 4
[71.43%] Hot key ‘aa’ found so far with counter 4
[71.43%] Hot key ‘key’ found so far with counter 4

——– summary ——-

Sampled 14 keys in the keyspace!
hot key found with counter: 5keyname: myset
hot key found with counter: 5keyname: a
hot key found with counter: 4keyname: dd
hot key found with counter: 4keyname: dds
hot key found with counter: 4keyname: aa
hot key found with counter: 4keyname: key

选项实现:

1. redis实现8种缓存淘汰策略:

voltile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰

volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰

volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰

volatile-lfu: 从已设置过期时间的数据集驱逐使用频率最少的键

allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰

allkeys-lfu: 从所有键中驱逐使用频率最少的键

allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰

no-enviction(驱逐):禁止驱逐数据 当内存不足以容纳新写入数据时,新写入操作会报错

需要设置淘汰策略为lru或者lfu

2. 命令实现使用scan命令遍历所有的键值对,针对每个键值对使用OBJECT freq 获取该键值对的信息

到此这篇关于redis-cli 命令详解的文章就介绍到这了,更多相关redis-cli 命令内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


联系我们
返回顶部