全部产品

新版Memcache如何遍历所有key

更新时间:2019-08-13 11:57:36

在新版本的云数据库Memcache版实例中,您可以使用阿里云自研命令MSCAN遍历所有key。

命令结构

MSCAN命令通过多轮调用、批量查询的方式来获取所有key,查询过程不会阻塞Memcache服务,对性能影响极小。命令的使用说明如下。

命令结构

  1. mscan cursor COUNT count MATCH <datalen>
  2. <pattern>

参数说明

参数 说明
cursor 用于定位命令扫描到的位置。首次调用需设置为0,第二次调用需设置为第一次返回结果中Value的值,其后以此类推。Value的值为0即表示完成了所有key的扫描。
COUNT 指定每次调用命令扫描并返回key的大致数量。该值不能精确限定返回key的数量,实际返回数会在该值上下浮动。
MATCH 指定需要返回的key,由命令第二行的pattern指定筛选目标。
datalen 命令第二行pattern的字符数,例如patterndemo*时,该值需为5
pattern 使用通配符指定返回结果的模式,例如该值为demo*时,返回结果中只包含以demo开头的key。

返回结构

  1. VALUE cursor
  2. <datalen>
  3. key
  4. <datalen>
  5. key
  6. ...
  7. END

使用步骤

  1. 连接云数据库Memcache版实例。
  2. 根据需求使用mscan命令遍历key。

    mscan使用示例