exports.lpush = function (db, key, item, callback) { if (Array.isArray(item)) { var temp = [], params = []; for (var i = 0; i < item.length; i++) { item[i] = u.makeString(item[i]); params.push(item[i]); } i = 0; while (i < params.length) { var data = params.slice(i, (i + 50000 <= params.length) ? i + 50000 : params.length); data.unshift(key); temp.push(f(data)); i = i + 50000; } if (typeof callback === 'function') { q.all(temp) .then(function(result){ callback(null, result); }) .fail(function(error){ callback(error); }); } else{ return q.all(temp); } } else { var defer = q.defer(); item = u.makeString(item); getRedisClient(db, function (client) { client.lpush(key, item, redisCallbackGen('lpush', callback, defer)); }); if (typeof callback !== 'function') { return defer.promise; } } function f(params) { var defer2 = q.defer(); params.push(redisCallbackGen('lpush', callback, defer2)); getRedisClient(db, function (client) { client.lpush.apply(client, params); }); return defer2.promise; } };
exports.hmset = function (db, key, object, callback) { var defer = null, params = [key]; if (typeof callback !== 'function') { defer = q.defer(); } for (var i in object) { if (object.hasOwnProperty(i)) { params.push(i); params.push(u.makeString(object[i])); } } params.push(redisCallbackGen('hmset', callback, defer)); getRedisClient(db, function (client) { client.hmset.apply(client, params); }); if (defer) { return defer.promise; } };
function setex(db, key, ttl, value, callback) { var defer = null; if (typeof callback !== 'function') { defer = q.defer(); } value = u.makeString(value); getRedisClient(db, function (client) { client.setex(key, Math.round(ttl / 1000), value, redisCallbackGen('setex', callback, defer)); }); if (defer) { return defer.promise; } }