Redis日常命令总结

key

  • keys
    查找所有符合给定模式 pattern 的 key,支持glob风格匹配
    ? 匹配一个字符
    * 匹配任意个(包括0个)字符
    [] 匹配括号间的任一个字符,可以使用 “-” 符号表示一个范围,如 a[b-d] 可以匹配 “ab”,”ac”,”ad”
    \x 匹配字符x,用于转义符号,如果要匹配 “?” 就需要使用 \?
    例:

    redis> MSET one 1 two 2 three 3 four 4  # 一次设置 4 个 key
    OK
    
    redis> KEYS *o*
    1) "four"
    2) "two"
    3) "one"
    
    redis> KEYS t??
    1) "two"
    
    redis> KEYS t[w]*
    1) "two"
    
    redis> KEYS *  # 匹配数据库内所有 key
    1) "four"
    2) "three"
    3) "two"
    4) "one"     
    
  • exists
    判断某个key是否存在
    命令格式:exists key
    例:

    127.0.0.1:6379> EXISTS key1
    (integer) 0
    
  • type
    查看key的数据类型
    命令格式:type key
    例:

    127.0.0.1:6379> set str "hello"
    OK
    127.0.0.1:6379> type str
    string
    
  • rename
    为key重命名
    命令格式:rename key newkey
    例:

    127.0.0.1:6379> set str "hello"
    OK
    127.0.0.1:6379> RENAME str str_new
    OK
    127.0.0.1:6379> get str_new
    "hello"
    
  • randomkey
    随机返回一个key
    命令格式:randomkey
    例:

    127.0.0.1:6379> RANDOMKEY
    "c"
    
  • del
    删除key
    命令格式:del key
    例:

    127.0.0.1:6379> del c 
    (integer) 1
    

配置

  • config get
    查询配置
    命令格式:config get parameter (parameter指配置名)
    例:

    127.0.0.1:6379> CONFIG GET *  #获取所有配置
     1) "dbfilename"
     2) "dump.rdb"
     3) "requirepass"
     4) ""
     5) "masterauth"
     6) ""
     7) "cluster-announce-ip"
     8) ""
     9) "unixsocket"
    10) ""
    
  • config set
    修改配置
    命令格式:config set parameter value (parameter指配置名,value指新值)
    例:

    127.0.0.1:6379> CONFIG get masterauth 
    1) "masterauth"
    2) ""
    127.0.0.1:6379> CONFIG set masterauth  12345
    OK
    127.0.0.1:6379> CONFIG get masterauth 
    1) "masterauth"
    2) "12345"
    

数据库

redis默认有0到15一共16个数据库,每个数据库拥有独立的key独立的命名空间。

  • dbsize
    查看数据库key数量
    命令格式:dbsize
    例:

    127.0.0.1:6379> DBSIZE                               
    (integer) 4 
    
  • select
    切换数据库
    命令格式:select index (index为数据库号)
    例:

    127.0.0.1:6379> SELECT 1
    OK
    127.0.0.1:6379[1]>
    
  • flushall
    清空所有数据库
    命令格式:flushall
    例:

    127.0.0.1:6379> FLUSHALL
    OK
    
  • flushdb
    清空当前数据库
    命令格式:flushdb
    例:

    127.0.0.1:6379> FLUSHDB
    OK
    
  • move
    移动数据key到另一个数据库
    命令格式:move key index (index为目标数据库)
    例:

    127.0.0.1:6379> MOVE one 1
    (integer) 1
    127.0.0.1:6379> SELECT 1
    OK
    127.0.0.1:6379[1]> KEYS * 
    1) "one"
    

服务状态

  • ping
    测试client与server的连通性,如连接正常会返回pong
    命令格式:ping
    例:

    127.0.0.1:6379> ping  
    PONG
    
  • info
    查看服务器信息,包括CPU,内存,复制,持久化等信息。
    命令格式:info
    例:

    127.0.0.1:6379> INFO
    # Server
    redis_version:4.0.9
    redis_git_sha1:00000000
    
    # Clients
    connected_clients:1
    
    # Memory
    used_memory:848384
    used_memory_human:828.50K
    used_memory_rss:4759552
    used_memory_rss_human:4.54M
    
    # Persistence
    loading:0
    rdb_changes_since_last_save:5
    rdb_bgsave_in_progress:0
    
    # Stats
    total_connections_received:3
    total_commands_processed:23
    instantaneous_ops_per_sec:0
    total_net_input_bytes:1187
    total_net_output_bytes:31491
    
    # Replication
    role:master
    connected_slaves:0
    master_replid:201f27ab290b092d11da749fb7b50ef31c9bd13b
    
    # Server
    redis_version:4.0.9
    redis_git_sha1:00000000
    redis_git_dirty:0
    redis_build_id:c946d801634fe2f1
    
  • shutdown
    关闭redis
    命令格式:shuown
    例:

    127.0.0.1:6379> SHUTDOWN
    not connected> 
    

原生监控

为了方便定位故障,redis提供了原生监控命令。

  • 当前链接的客户端数和连接数
    redis-cli –stat查看当前连接的客户端数,连接数等。

     ------- data ------ --------------------- load -------------------- - child -
    keys       mem      clients blocked requests            connections          
    4          829.79K  1       0       0 (+0)              1           
    4          829.79K  1       0       1 (+0)              1           
    4          829.79K  1       0       2 (+1)              1           
    4          829.79K  1       0       3 (+1)              1           
    4          829.79K  1       0       4 (+1)              1           
    4          829.79K  1       0       5 (+1)              1           
    4          829.79K  1       0       6 (+1)              1           
    4          829.79K  1       0       7 (+1)              1           
    4          829.79K  1       0       8 (+1)              1           
    4          829.79K  1       0       9 (+1)              1           
    4          829.79K  1       0       10 (+1)             1
    
  • 内存最大的键值和平均的键值数据
    redis-cli –bigkeys 查看当前占用内存最大的键值和平均的键值数据,也可以通过指定-i参数定时查看当前的视图情况。

    # 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 'b' with 1 bytes
    [00.00%] Biggest string found so far 'str' with 5 bytes
    
    -------- summary -------
    
    Sampled 4 keys in the keyspace!
    Total key length in bytes is 6 (avg len 1.50)
    
    Biggest string found 'str' has 5 bytes
    
    4 strings with 8 bytes (100.00% of keys, avg size 2.00)
    0 lists with 0 items (00.00% of keys, avg size 0.00)
    0 sets with 0 members (00.00% of keys, avg size 0.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)
    
  • 查看当前的键值情况
    redis-cli –scan提供和keys *相似的功能,查看当前的键值情况。

    root@ubuntu:/home/chenli# redis-cli --scan
    b
    a
    d
    str
    
  • 原生的Monitor监控
    redis-cli monitor打印出所有sever接收到的命令以及其对应的客户端地址。

    root@ubuntu:/home/chenli# redis-cli monitor           │connected_slaves:0
    OK                                                    │master_replid:8bd6c5d16383bc44ee54b05e50f8196de9711d3
    1530380321.325409 [0 127.0.0.1:44484] "ping"          │c
    1530380326.702314 [0 127.0.0.1:44484] "info"
    

总结

本文简单的总结了日常工作可能经常使用的命令,当然随着redis版本的迭代,部分命令可能会有变化。面对不同的版本时可以通过多查看官方文档或者使用help命令以及自动补全等来帮助我们。

猜你喜欢

转载自blog.csdn.net/cl2010abc/article/details/80861639