UNPKG

@eplata/memory-storage-data

Version:

Modulo que nos permitirá obtener data en memoria

65 lines (51 loc) • 1.67 kB
const getData = async (key, redis) => await redis.get(key); const getExpire = async (key, redis) => await redis.ttl(key); const getList = async (key, redis) => await redis.lrange(key, 0, -1); const remove = async (key, redis) => await redis.del(key); const setList = async (key, list, { ttl, right }, redis) => { if (right) await redis.rpush(key, list); else await redis.lpush(key, list); await redis.expire(key, ttl); return true; }; const removeListElement = async (key, element, redis) => await redis.lrem(key, 0, element); const exists = async (key, redis, { strict }) => { const resp = await redis.exists(key); if (strict) { if (resp === 1) return true throw new Error('La key no fue encontrada.'); } else { return (resp === 1) ? true : false; } }; const setData = async (key, jsonData, ttl, redis) => { await redis.set(key, jsonData); await redis.expire(key, ttl); return true; }; const updateData = async (key, jsonData, redis) => { const ttl = await redis.ttl(key); await redis.set(key, jsonData); await redis.expire(key, ttl); return true; }; const renewExpire = async (key, ttl, redis) => await redis.expire(key, ttl); const getKeys = async (pattern, redis) => await redis.keys(`${pattern}`); const incrCounter = (key, redis) => redis.incr(key); module.exports = { exists: (key, redis, options = { strict: true }) => exists(key, redis, { strict: options.strict }), setList, setData, getData, getExpire, getList, remove, updateData, renewExpire, getKeys, removeListElement, incrCounter, };