使用Redis记录用户的最后一条消息

时间:2020-09-24 11:46:12

标签: memory redis node-redis

我的在线游戏中有一个全球聊天室,其中有一些聊天主持人可以禁止用户在发送不适当的消息时不发送消息。

现在我想将所有用户的最后4分钟消息存储在内存中,并在主持人禁止该用户时将它们记录到mysql中。

我正在将redis用于内存数据库,什么是存储消息的最佳方法?

我想到的一种方法是将邮件作为此示例存储在redis中:

[REDIS KEY] : [VALUE]
user_(userid)_chat_message_(timestamp) : message_content --------- EXPIRE : 4 minutes

ex:
user_12345_chat_message_1600947508 : hello guys

当主持人禁止用户时,请使用redis SCAN命令(模式:user_12345_chat_message_ *)获取所有这些消息并进行记录。

但是我想知道这是最好的方法吗?我的redis数据库很大,我认为SCAN命令可能不是一个好的选择。

0 个答案:

没有答案