Files
NodeBB/src/database/redis/sets.js

72 lines
1.9 KiB
JavaScript
Raw Normal View History

2014-04-11 15:29:01 -04:00
"use strict";
module.exports = function(redisClient, module) {
2015-01-22 16:21:32 -05:00
var helpers = module.helpers.redis;
2014-04-11 15:29:01 -04:00
module.setAdd = function(key, value, callback) {
2014-09-03 19:38:48 -04:00
callback = callback || function() {};
2014-11-17 23:32:39 -05:00
redisClient.sadd(key, value, function(err, res) {
2014-09-03 19:38:48 -04:00
callback(err);
});
2014-04-11 15:29:01 -04:00
};
module.setsAdd = function(keys, value, callback) {
2015-01-22 16:21:32 -05:00
helpers.multiKeysValue(redisClient, 'sadd', keys, value, function(err, res) {
callback(err);
});
};
2014-04-11 15:29:01 -04:00
module.setRemove = function(key, value, callback) {
2014-12-24 15:52:37 -05:00
callback = callback || function() {};
2014-11-17 23:32:39 -05:00
redisClient.srem(key, value, function(err, res) {
callback(err);
});
2014-04-11 15:29:01 -04:00
};
2014-09-16 22:25:12 -04:00
module.setsRemove = function(keys, value, callback) {
callback = callback || function() {};
2015-01-22 16:21:32 -05:00
helpers.multiKeysValue(redisClient, 'srem', keys, value, function(err, res) {
2014-09-16 22:25:12 -04:00
callback(err);
});
};
2014-04-11 15:29:01 -04:00
module.isSetMember = function(key, value, callback) {
redisClient.sismember(key, value, function(err, result) {
2015-01-22 16:21:32 -05:00
callback(err, result === 1);
2014-04-11 15:29:01 -04:00
});
};
module.isSetMembers = function(key, values, callback) {
2015-01-22 16:21:32 -05:00
helpers.multiKeyValues(redisClient, 'sismember', key, values, function(err, results) {
callback(err, results ? helpers.resultsToBool(results) : null);
});
2014-04-11 15:29:01 -04:00
};
module.isMemberOfSets = function(sets, value, callback) {
2015-01-22 16:21:32 -05:00
helpers.multiKeysValue(redisClient, 'sismember', sets, value, function(err, results) {
callback(err, results ? helpers.resultsToBool(results) : null);
});
2015-01-22 16:21:32 -05:00
};
2014-04-11 15:29:01 -04:00
module.getSetMembers = function(key, callback) {
redisClient.smembers(key, callback);
};
module.getSetsMembers = function(keys, callback) {
2015-01-22 16:21:32 -05:00
helpers.multiKeys(redisClient, 'smembers', keys, callback);
};
2014-04-11 15:29:01 -04:00
module.setCount = function(key, callback) {
redisClient.scard(key, callback);
};
2014-12-21 16:29:32 -05:00
module.setsCount = function(keys, callback) {
2015-01-22 16:21:32 -05:00
helpers.multiKeys(redisClient, 'scard', keys, callback);
2014-12-21 16:29:32 -05:00
};
2014-04-11 15:29:01 -04:00
module.setRemoveRandom = function(key, callback) {
redisClient.spop(key, callback);
};
return module;
};