Redis列表如何用于实现聊天系统?
这是Redis介绍的一个示例:
$ redis-cli rpush messages "Hello how are you?"OK
$ redis-cli rpush messages "Fine thanks. I'm having fun with Redis"
OK
$ redis-cli rpush messages "I should look into this NOSQL thing ASAP"
OK
$ redis-cli lrange messages 0 2
1. Hello how are you?
2. Fine thanks. I'm having fun with Redis
3. I should look into this NOSQL thing ASAP
他们在下面写下:
从上面的示例可以猜到,可以使用列表来实现聊天系统。
我的问题是:他们真正说的是什么to implement a chat system
?
例如,聊天中的消息至少具有三个参数:
1)消息文本,
2)消息的作者,
3)编写消息的时间。
在上面的代码示例中,我仅看到一个参数:消息文本。
那么如何使用列表来实现聊天系统呢?它们应该在哪里存储其他两个参数,以及如何将它们连接到Redis列表中的消息?
:
我找到了一本很棒的书来了解什么是Redis:
http://openmymind.net/2012/1/23/The-Little-Redis-
Book/
它简短,简单但非常有用。
回答:
这有两种可能性:
使用参考。您可以将消息放入包含多个字段的哈希对象中。该散列的密钥必须从序列(incr)生成,或者可以是UUID或任何其他唯一标识符。该密钥将是对消息的引用,因此您只需将其推入列表即可,而不是消息的文本。一旦引用从列表中弹出,则由接收者来获取消息的内容。
使用序列化。只需使用所需的任何格式(例如json,xml,messagepack等)序列化消息的各个字段,然后将结果推送到列表中即可。显然,接收方必须对项目进行反序列化才能检索各个字段。
以上是 Redis列表如何用于实现聊天系统? 的全部内容, 来源链接: utcz.com/qa/404644.html