zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    linux file命令小记
    利用actionscript访问wfs服务
    在C/C++中static有什么用途?(请至少说明两种)
    单元测试、集成测试、系统测试的侧重点是什么?
    测试计划工作的目的是什么?测试计划文档的内容应该包括什么?其中哪些是最重要的?
    简述什么是静态测试、动态测试、黑盒测试、白盒测试、α测试&#160;β测试
    一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?
    BUG管理工具的跟踪过程(用BugZilla为例子)
    软件测试分为几个阶段&#160;各阶段的测试策略和要求是什么?
    软件质量保证体系是什么&#160;国家标准中与质量保证管理相关的几个标准是什么?他们的编号和全称是什么?
  • 原文地址:https://www.cnblogs.com/yandufeng/p/6474719.html
Copyright © 2011-2022 走看看