zoukankan      html  css  js  c++  java
  • Redis-通过前缀获取所有key

    https://www.jianshu.com/p/80e3ca1e76af

    1.Keys

    keys pattern*   //
    keys *pattern*  //
    keys pattern??   /

    优点:

      可以一次返回所有符合条件的key。

    缺点:

    1. 没有offset、limit参数,不能限制查询个数
    2. keys是遍历算法,复杂度O(n),数据量大的时候会导致redis卡顿

     2.Scan

      SCAN命令是一个基于游标的迭代器:SCAN命令每次被调用后,都会向用户返回一个新的游标,用户在下次迭代时需要使用这个新游标作为SCAN命令的游标参数,以此来延续之前的迭代过程。

    SCAN cursor [MATCH pattern] [COUNT count]

    优点:

    1. 复杂度O(n),但是scan是通过游标分步进行,不阻塞
    2. 提供limit,可控制返回结果数
    3. 同keys一样,提供模式匹配
    4. 服务器不需要为游标保存状态,唯一状态是scan返回客户端的游标整数

    缺点:

    1. 返回结果可能重复,需要客户端去重
    2. 如果遍历过程中有数据修改,改动后的数据不保证同步
  • 相关阅读:
    第08讲树
    第11讲简单算法
    【ZOJ1004】Anagrams by Stack
    【ZOJ1649】Rescue
    第10讲并查集
    网站建设与网页制作课件
    获取鼠标的坐标
    asp.net页面的默认回车事件
    NeatUpload的安装使用
    Page methods 执行顺序
  • 原文地址:https://www.cnblogs.com/qmillet/p/13620139.html
Copyright © 2011-2022 走看看