新版Memcache如何遍历所有key

更新时间:

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

命令结构

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

命令结构

mscan cursor COUNT count MATCH <datalen>
<pattern>

参数说明

参数

说明

cursor

用于定位命令扫描到的位置。首次调用需设置为0,第二次调用需设置为第一次返回结果中Value的值,其后以此类推。Value的值为0即表示完成了所有key的扫描。

COUNT

指定每次调用命令扫描并返回key的大致数量。该值不能精确限定返回key的数量,实际返回数会在该值上下浮动。

MATCH

指定需要返回的key,由命令第二行的pattern指定筛选目标。

datalen

命令第二行pattern的字符数,例如patterndemo*时,该值需为5

pattern

使用通配符指定返回结果的模式,例如该值为demo*时,返回结果中只包含以demo开头的key。

返回结构

VALUE cursor
<datalen>
key
<datalen>
key
...
END

使用步骤

  1. 连接云数据库Memcache版实例。

  2. 根据需求使用mscan命令遍历key。

    mscan使用示例