redis命令的使用

  1. 批量删除特定前缀的keys
    redis-cli KEYS "prefix:*" | xargs redis-cli DEL
  2. 返回list的长度
    127.0.0.1:6379> LPUSH test "hello"
    (integer) 1
    127.0.0.1:6379> LPUSH test "world"
    (integer) 2
    127.0.0.1:6379> LLEN test
    (integer) 2
  3. LRANGE的使用
    127.0.0.1:6379> RPUSH test1 "one"
    (integer) 1
    127.0.0.1:6379> RPUSH test1 "two"
    (integer) 2
    127.0.0.1:6379> RPUSH test1 "three"
    (integer) 3
    127.0.0.1:6379> LRANGE test1 0 0
    1) "one"
    127.0.0.1:6379> LRANGE test1 -3 2
    1) "one"
    2) "two"
    3) "three"
    127.0.0.1:6379> LRANGE test1 -100 100
    1) "one"
    2) "two"
    3) "three"
    127.0.0.1:6379> LRANGE test1 5 10
    (empty list or set)的使用

  4. MONITOR的使用
    monitor用来监控正在运行的命令
    redis 127.0.0.1:6379> MONITOR
    OK
    1371241093.375324 "monitor"
    1371241109.735725 "keys" "*"
    1371241152.344504 "set" "testkey" "1"
    1371241165.169184 "get" "testkey"
  5. 查询慢查询
    slowlog get 25 #打印前25个慢的查询
    slowlog len #显示slowlog的长度
    slowlog reset #重置slowlog

    例子:
    你可以通过一下命令,查询当前运行比较慢的命令
    slowlog reset
    slowlog get 25
  6. 搜索keys
    keys pattern
    keys pattern*
    keys *pattern*
    keys *pattern
  7. 通常的操作
    del <key>
    exists <key>
    expire <key> <seconds>

    get <key>
    set <key> <value>
    setnx <key> <valule> #仅仅当key不存在的时候,才设置值

    mget <key> <key> ...
    mset <key> <value> <key> <value>

    incr <key> #增加key中的值的数
    decr <key>
  8. 列表
    lrange <key> <start> <stop>
    lrange mylist 0 -1 #Get all of a list
    lindex mylist 5 #Get by index
    llen mylist #Get length

    lpush mylist "value"
    lpush mylist 5			
    rpush mylist "value"

    lpushx mylist 6 #only push in mylist exists
    lpushx mylist 0 #only push in mylist exists

    lpop mylist
    rpop mylist

    lrem mylist 1 "value" #删除一次为value值的key
    lset mylist 2 6 #mylist[2]=6
    ltrim <key> <start> <stop> #仅仅包含特定范围的值

    例子
    127.0.0.1:6379> LPUSH dufeng_test "value"
    (integer) 1
    127.0.0.1:6379> LPUSH dufeng_test 5
    (integer) 2
    127.0.0.1:6379> RPUSH dufeng_test "value"
    (integer) 3
    127.0.0.1:6379> LRANGE dufeng_test 0 4
    1) "5"
    2) "value"
    3) "value"


  9. Hashes命令
    hexists myhash field1 #检查hash key是否存在
    hget myhash field1
    hdel myhash field2
    hset myhash field1 "value"
    hsetnx myhash field1 "value"
    
    hgetall myhash
    hkeys myhash
    hlen myhash
    
    #批量命令
    hmget <key> <key>
    hmset <key> <value> <key> <value>

    #计数命令
    hincrby myhash field1 1
    hincrby myhash field1 5
    hincrby myhash field1 -1
    hincrbrfloat myhash field2 1.123445

    例子:
    redis> HSET myhash field 5
    (integer) 1
    redis> HINCRBY myhash field 1
    (integer) 6
    redis> HINCRBY myhash field -1
    (integer) 5
    redis> HINCRBY myhash field -10
    (integer) -5
  10.  查看客户端的连接数

    [root@hadoop252 ~]# redis-cli info | grep connected
    connected_clients:39
    connected_slaves:0
  11. 服务器统计
    $ redis-cli INFO
    redis_version:2.2.12
    redis_git_sha1:00000000
    redis_git_dirty:0
    arch_bits:64
    multiplexing_api:epoll
    process_id:8353
    uptime_in_seconds:2592232
    uptime_in_days:30
    lru_clock:809325
    used_cpu_sys:199.20
    used_cpu_user:309.26
    used_cpu_sys_children:12.04
    used_cpu_user_children:1.47
    connected_clients:2            # <---- connection count
    connected_slaves:0
    client_longest_output_list:0
    client_biggest_input_buf:0
    blocked_clients:0
    used_memory:6596112
    used_memory_human:6.29M            # <---- memory usage
    used_memory_rss:17571840
    mem_fragmentation_ratio:2.66
    use_tcmalloc:0
    loading:0
    aof_enabled:0
    changes_since_last_save:0
    bgsave_in_progress:0
    last_save_time:1371241671
    bgrewriteaof_in_progress:0
    total_connections_received:118
    total_commands_processed:1091
    expired_keys:441
    evicted_keys:0
    keyspace_hits:6
    keyspace_misses:1070
    hash_max_zipmap_entries:512
    hash_max_zipmap_value:64
    pubsub_channels:0
    pubsub_patterns:0
    vm_enabled:0
    role:master                # <---- master/slave in replication setup
    db0:keys=91,expires=88
  12. 列出连接
    #从2.4版本开始,你可以使用下面的命令列出连接
    CLIENT LIST
    使用下面的命令杀死一个连接
    CLIENT KILL <IP>:<port>
  13. 数据库备份
    BGSAVE 
  14. debug延迟
    #查看在redis服务器上的系统延迟时间
    redis-cli --intrinsic-latency 100
    #从客户端查看延迟时间
    redis-cli --latency -h <host> -p <port>
    #如果你看到有比较高的延迟,检测是否透明的大页面是否禁止,使用一下命令禁止它
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
  15. 在redis占用内存比较大的keys
    redis-cli --bigkeys
原文地址:https://www.cnblogs.com/yandufeng/p/6474719.html