2016-12-23 14:12:00 +03:00
|
|
|
|
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
|
|
module.exports = function (redisClient, module) {
|
|
|
|
|
var helpers = module.helpers.redis;
|
|
|
|
|
|
|
|
|
|
module.sortedSetRemove = function (key, value, callback) {
|
|
|
|
|
callback = callback || function () {};
|
|
|
|
|
if (!value) {
|
|
|
|
|
return callback();
|
|
|
|
|
}
|
|
|
|
|
if (!Array.isArray(value)) {
|
|
|
|
|
value = [value];
|
|
|
|
|
}
|
|
|
|
|
|
2018-03-17 18:49:33 -04:00
|
|
|
if (Array.isArray(key)) {
|
2018-11-23 14:39:59 -05:00
|
|
|
var batch = redisClient.batch();
|
2018-03-17 18:49:33 -04:00
|
|
|
key.forEach(function (key) {
|
2018-11-23 14:39:59 -05:00
|
|
|
batch.zrem(key, value);
|
2018-03-17 18:49:33 -04:00
|
|
|
});
|
2018-11-23 14:39:59 -05:00
|
|
|
batch.exec(function (err) {
|
2018-03-17 18:49:33 -04:00
|
|
|
callback(err);
|
|
|
|
|
});
|
|
|
|
|
} else {
|
2018-11-23 14:39:59 -05:00
|
|
|
helpers.execKeyValues(redisClient, 'batch', 'zrem', key, value, function (err) {
|
2018-03-17 18:49:33 -04:00
|
|
|
callback(err);
|
|
|
|
|
});
|
|
|
|
|
}
|
2016-12-23 14:12:00 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.sortedSetsRemove = function (keys, value, callback) {
|
2018-11-23 14:39:59 -05:00
|
|
|
helpers.execKeysValue(redisClient, 'batch', 'zrem', keys, value, function (err) {
|
2016-12-23 14:12:00 +03:00
|
|
|
callback(err);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.sortedSetsRemoveRangeByScore = function (keys, min, max, callback) {
|
|
|
|
|
callback = callback || function () {};
|
2018-11-23 14:39:59 -05:00
|
|
|
var batch = redisClient.batch();
|
2017-02-18 01:52:56 -07:00
|
|
|
for (var i = 0; i < keys.length; i += 1) {
|
2018-11-23 14:39:59 -05:00
|
|
|
batch.zremrangebyscore(keys[i], min, max);
|
2016-12-23 14:12:00 +03:00
|
|
|
}
|
2018-11-23 14:39:59 -05:00
|
|
|
batch.exec(function (err) {
|
2016-12-23 14:12:00 +03:00
|
|
|
callback(err);
|
|
|
|
|
});
|
|
|
|
|
};
|
2017-02-18 02:30:48 -07:00
|
|
|
};
|