val luaScript = "return {redis.call('SCAN',ARGV[1],'MATCH',ARGV[2],'COUNT',ARGV[3])}"
var cursor = 0
do {
val data = redissonClient
.getScript(StringCodec.INSTANCE)
.eval(RScript.Mode.READ_ONLY,
luaScript,
RScript.ReturnType.MAPVALUELIST,
listOf(),
cursor,
"some-pattern",
batchSize)
val redistListData = (data[0][1] as List<String>)
cursor = data[0][0].toInt()
} while (cursor != 0)
2条答案
按热度按时间vc6uscn91#
getKeysByPattern()
在这种情况下是无效的,对吧。最好在这里使用lua脚本:
des4xlb02#
你需要使用
RKeys.getKeysWithLimit(String pattern, int limit)
此案例的方法。