使用redis记录用户的最后消息

zujrkrfu  于 2021-06-08  发布在  Redis
关注(0)|答案(0)|浏览(214)

我有一个全球聊天室在我的网络游戏,它有一些聊天版主,禁止用户从消息时,他们发送不适当的信息。
现在我想把所有用户的最后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\u12345\uchat\umessage*)并记录它们。
但我想知道这是最好的方法吗?我的redis数据库很大 SCAN 命令可能不是一个好的选择。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题