以下是Redis intro的示例:
$ 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列表中的消息?
UPD :
我找到了一本很棒的书来了解Redis是什么:
http://openmymind.net/2012/1/23/The-Little-Redis-Book/
简短,但信息量很大。
答案 0 :(得分:5)
以下是两种可能性:
使用参考。您可以将消息放在包含多个字段的哈希对象中。此哈希的密钥必须从序列(incr)生成,或者可以是UUID或任何其他唯一标识符。此密钥将是对您的邮件的引用,因此您只需将其推送到列表中而不是邮件的文本中。一旦从列表中弹出引用,接收器就会获取消息的内容。
使用序列化。只需使用您想要的任何格式(例如:json,xml,messagepack等)序列化消息的各个字段,然后将结果推送到列表中。显然,接收方必须反序列化项目以检索各个字段。