redis-cli命令使用

命令使用

redis-cli [OPTIONS] [cmd [arg [arg ...]]]

选项说明

  -h <hostname>      Server hostname (default: 127.0.0.1). ip地址-p <port>          Server port (default: 6379). 服务器端口号-s <socket>        Server socket (overrides hostname and port).-a <password>      Password to use when connecting to the server. 密码-u <uri>           Server URI. url格式的地址-r <repeat>        Execute specified command N times.-i <interval>      When -r is used, waits <interval> seconds per command.It is possible to specify sub-second times like -i 0.1.-n <db>            Database number. 指定数据库-x                 Read last argument from STDIN.-d <delimiter>     Multi-bulk delimiter in for raw formatting (default: \n).-c                 Enable cluster mode (follow -ASK and -MOVED redirections).--raw              Use raw formatting for replies (default when STDOUT isnot a tty).--no-raw           Force formatted output even when STDOUT is not a tty.--csv              Output in CSV format.--stat             Print rolling stats about server: mem, clients, ... 统计数据 连续输出--latency          Enter a special mode continuously sampling latency.If you use this mode in an interactive session it runsforever displaying real-time stats. Otherwise if --raw or--csv is specified, or if you redirect the output to a nonTTY, it samples the latency for 1 second (you can use-i to change the interval), then produces a single outputand exits. 延时统计--latency-history  Like --latency but tracking latency changes over time.Default time interval is 15 sec. Change it using -i.--latency-dist     Shows latency as a spectrum, requires xterm 256 colors.Default time interval is 1 sec. Change it using -i.--lru-test <keys>  Simulate a cache workload with an 80-20 distribution.--replica          Simulate a replica showing commands received from the master.--rdb <filename>   Transfer an RDB dump from remote server to local file. 导出rdb文件--pipe             Transfer raw Redis protocol from stdin to server.管道模式--pipe-timeout <n> In --pipe mode, abort with error if after sending all data.no reply is received within <n> seconds.Default timeout: 30. Use 0 to wait forever.管道超时--bigkeys          Sample Redis keys looking for big keys.--hotkeys          Sample Redis keys looking for hot keys.only works when maxmemory-policy is *lfu.--scan             List all keys using the SCAN command.获取服务器所有的键--pattern <pat>    Useful with --scan to specify a SCAN pattern.正则表达式 用于scan命令中--intrinsic-latency <sec> Run a test to measure intrinsic system latency.The test will run for the specified amount of seconds.--eval <file>      Send an EVAL command using the Lua script at <file>.--ldb              Used with --eval enable the Redis Lua debugger.--ldb-sync-mode    Like --ldb but uses the synchronous Lua debugger, inthis mode the server is blocked and script changes arenot rolled back from the server memory.--cluster <command> [args...] [opts...]Cluster Manager command and arguments (see below).--verbose          Verbose mode.--no-auth-warning  Don't show warning message when using password on commandline interface.

注意:

  1. -u选项中url格式参考文档https://www.iana.org/assignments/uri-schemes/prov/redis 格式为:redis://user:secret@localhost:6379/0?foo=bar&qux=baz

举例:

例子1:

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> quit
root@hylaz:~# redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> set age 20
OK
127.0.0.1:6379> get age
"20"
127.0.0.1:6379> quit
root@hylaz:~# redis-cli -h 127.0.0.1 -p 6379 -n 2
127.0.0.1:6379[2]> get age
(nil)
127.0.0.1:6379[2]> set age 23
OK
127.0.0.1:6379[2]> get age
"23"
127.0.0.1:6379[2]> quit

例子2:

server中统计选项

root@hylaz:~# redis-cli --stat
------- data ------ --------------------- load -------------------- - child -
keys       mem      clients blocked requests            connections
11         835.52K  1       0       12 (+0)             5
11         835.52K  1       0       13 (+1)             5
11         835.52K  1       0       14 (+1)             5
11         835.52K  1       0       15 (+1)             5

列表中选项说明:

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

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

例子3:

导入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.

该命令选项实现:

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

例子4:

找出各种数据类型的最大键值对 命令: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 set    found 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
Biggest    set found 'myset' has 1 members12 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中的键值对,针对不同数据类型进行统计,

例子5:

找出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: 5   keyname: myset
hot key found with counter: 5   keyname: a
hot key found with counter: 4   keyname: dd
hot key found with counter: 4   keyname: dds
hot key found with counter: 4   keyname: aa
hot key found with counter: 4   keyname: 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 命令详解相关推荐

  1. redis的lrange_Redis LRANGE 命令-Redis LRANGE命令详解教程-Redis LRANGE使用案例-嗨客网

    Redis LRANGE命令教程 下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推. 也可以使用负数下标,以 -1 表 ...

  2. redis debug命令详解

    redis debug命令提供了几个非常实用的debug功能,本文介绍下redis-2.8.19下的debug命令. debug segment 让redis发生段错误,如果开启了coredump,则 ...

  3. Redis set命令详解

    set 命令 SET key value [EX seconds] [PX milliseconds] [NX|XX] 设置key为保持字符串value.如果key已经拥有一个值,则无论其类型如何,它 ...

  4. redis info命令详解

    以一种易于解释(parse)且易于阅读的格式,返回关于 Redis 服务器的各种信息和统计数值. 通过给定可选的参数 section ,可以让命令只返回某一部分的信息: server : 一般 Red ...

  5. Redis命令详解:Hashs

    Hash是一种String类型的field.value的映射表,因此,它非常适合存储对象.下面我们来一一介绍与Hash相关的命令. HDEL 最早可用版本:2.0.0 时间复杂度:O(N),其中N为要 ...

  6. Redis命令详解:Connection

    最近在学习Redis的相关知识,上一篇我们也介绍了Redis的安装方法和基本数据结构,后面就打算开一个新的系列文章:Redis命令详解.既是对基础的巩固,也是为了以后查询起来更方便. 整个系列会分为以 ...

  7. Redis AOF 持久化详解

    来自公众号:程序员历小冰 Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多.但是一旦进程退出,Redis 的数据就会丢失. 为了解决这个问题,Re ...

  8. 转-Redis AOF 持久化详解

    转自: https://juejin.cn/post/6844903902991630349 Redis AOF 持久化详解 Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据 ...

  9. body curl 设置post_curl 命令详解

    常用参数 常用参数分类 # 调试类-v, --verbose 输出信息-q, --disable 在第一个参数位置设置后 .curlrc 的设置直接失效,这个参数会影响到 -K, --config - ...

  10. [转]Redis内部数据结构详解-sds

    本文是<Redis内部数据结构详解>系列的第二篇,讲述Redis中使用最多的一个基础数据结构:sds. 不管在哪门编程语言当中,字符串都几乎是使用最多的数据结构.sds正是在Redis中被 ...

最新文章

  1. 《C语言程序设计:问题与求解方法》——0.5节本章习题
  2. DRUID连接池的简单使用
  3. SpringBoot项目请求路径中有正反斜杠的处理办法
  4. oracle 函数可变参数,6.3 带有可变参数的函数
  5. .net core精彩实例分享 -- 网络编程
  6. CSS基础-标签显示模式(display)【学习笔记】
  7. ABAQUS-学习笔记
  8. 一文讲清神经网络、BP神经网络、深度学习的关系
  9. Javascript和C#正则只保留英文、数字、汉语、空格
  10. niosii spi 外部_niosii 的SPI详解
  11. mysql 综合练习
  12. “库存商品”和“原材料”科目的使用区别?
  13. 秃鹫:我吃东西也是分国家的
  14. 《Django开发教程》1.2 在ubuntu上安装Django
  15. office2010如何使用excel冻结窗格
  16. 文件无访问权限解决办法
  17. 关于USB Type A/B/C的区别和基本知识
  18. 质量管理中的“二八法则”
  19. 穿越晋商百年-体验非遗文化
  20. 程序员转正述职报告_程序员转正工作总结(4篇),转正工作总结

热门文章

  1. C++ 字符串(string类)
  2. CodeForces - 1354E Graph Coloring(dfs判断二分图+dp)
  3. 牛客 - 膜法记录(状压dp预处理)
  4. [loj2087][NOI2016]国王饮水记
  5. 外挂学习之路(4)--- 大海捞针找call call const法
  6. 对现有的所能找到的DDOS代码(攻击模块)做出一次分析----UDP篇
  7. 【网络编程】之三、socket网络编程
  8. C++ 析构函数设为虚函数的好处
  9. 关于 IPv6 大规模部署,给我们带来了什么~
  10. Linux网络编程 | 事件处理模式:Reactor模式、Proactor模式