Я пытаюсь сохранить IP-адрес пользователей, которые публикуют контент в течение 24 часов, поэтому в инструменте модерации число сообщений, созданных каждым IP-адресом, и эти идентификаторы сообщений доступны для просмотра, чтобы предотвратить спам. В Node.js у меня есть что-то вроде этого:
let ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
rclient.set(`ip:${ip}:${id}`, 1, 'EX', 86400);
Оттуда я могу сделать это, чтобы проверить IP содержимого id
rclient.keys(`ip:*:${id}`, (err, reply) => console.log(reply));
, и я могу запустить это чтобы найти все сообщения, созданные с данного IP-адреса
rclient.keys(`ip:${ip}:*`, (err, reply) => console.log(reply));
Что мне интересно, так это то, есть ли способ также получить обе эти данные в нужное время прямо из redis: список IP-адресов и для каждый - список id
сообщений, созданных с этого IP-адреса, например GROUP BY
из SQL. Или есть ли лучший способ хранения информации так, как я хочу?