Используя эту библиотеку: https://github.com/NodeRedis/node_redisКак выполнить поиск набора redis и вернуть ключ, если в наборе содержится больше элементов x?
Вот пример моего кода:
redisdb.sadd("list", "list:1");
redisdb.sadd("list:1", "list:1:stuff:abc");
redisdb.sadd("list", "list:2");
redisdb.sadd("list", "list:3");
redisdb.sadd("list:3", "list:3:stuff:def");
redisdb.sadd("list:3", "list:3:stuff:def");
redisdb.sadd("list", "list:4");
redisdb.sadd("list", "list:5");
redisdb.sadd("list", "list:6");
redisdb.sadd("list", "list:7");
redisdb.sadd("list", "list:8");
redisdb.sadd("list", "list:9");
redisdb.sadd("list", "list:10");
redisdb.sadd("list", "list:11");
redisdb.sadd("list", "list:12");
redisdb.sadd("list", "list:13");
redisdb.sadd("list", "list:14");
redisdb.sadd("list", "list:15");
Скажем, я хотел найти набор под названием list
и получить ключ любого набора в list
, который имеет более членов х ,
Например, если я ищу ключ любого из list
, который имеет более 1 члена, он будет возвращать список: 3.
Возможно ли это? Если да, может ли кто-нибудь направить меня на то, как я буду заниматься этим?
Благодаря
Есть ли способ, чтобы ограничить его так что он возвращает первый найденный ключ, который соответствует критериям, а затем останавливается? благодаря! –
Потому что я использую трубопровод для поиска всех сразу и возвращаюсь ко мне. Однако, если вы хотите сделать это по-своему, вы можете передать массив Promises (операция scard, throw if 0) в bluebird 'Promise.any', и он остановится, как только найдет список с 1 элементом. –
'Promise.any' api http://bluebirdjs.com/docs/api/promise.any.html –