Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory 使用redis记录用户';最后的消息_Memory_Redis_Node Redis - Fatal编程技术网

Memory 使用redis记录用户';最后的消息

Memory 使用redis记录用户';最后的消息,memory,redis,node-redis,Memory,Redis,Node Redis,我在我的在线游戏中有一个全球聊天室,它有一些聊天主持人来禁止用户发送不适当的信息 现在我想在内存中存储所有用户的最后4分钟消息,并在管理员禁止该用户时将其记录到mysql 我正在使用redis作为内存数据库,存储消息的最佳方法是什么 我想到的一种方法是在redis中存储消息,如下例所示: [REDIS KEY] : [VALUE] user_(userid)_chat_message_(timestamp) : message_content --------- EXPIRE : 4 minut

我在我的在线游戏中有一个全球聊天室,它有一些聊天主持人来禁止用户发送不适当的信息

现在我想在内存中存储所有用户的最后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\u chat\u message_*)获取所有这些消息并记录它们

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