当前位置: 首页 > 面试题库 >

Redis列表如何用于实现聊天系统?

司寇灵均
2023-03-14
问题内容

这是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列表中的消息?

UPD

我找到了一本很棒的书来了解什么是Redis:

http://openmymind.net/2012/1/23/The-Little-Redis-
Book/

它简短,简单但非常有用。


问题答案:

这有两种可能性:

  • 使用参考。您可以将消息放入包含多个字段的哈希对象中。该散列的密钥必须从序列(incr)生成,或者可以是UUID或任何其他唯一标识符。该密钥将是对消息的引用,因此您只需将其推入列表即可,而不是消息的文本。一旦引用从列表中弹出,则由接收者来获取消息的内容。

  • 使用序列化。只需使用所需的任何格式(例如json,xml,messagepack等)序列化消息的各个字段,然后将结果推送到列表中即可。显然,接收方必须对项目进行反序列化才能检索各个字段。



 类似资料:
  • 问题内容: 我希望使用同时具有群聊和私人聊天功能的PHP / Javascript(Jquery)实现聊天室。 问题是如何以自然方式持续更新界面,还可能如何在私人聊天中显示“ X正在键入..”消息。 显而易见的方法似乎是,每隔X秒/毫秒,JavaScript将对服务器执行ping操作,并从上次ping到现在之间获取新消息的列表。但是,如果突然在聊天室中淹没了5条消息,这会使界面显得有些不自然。我希

  • 许多项目使用互联网多线交谈(IRC)提供实时聊天室,作为用户和开发者互相提问并得到及时答复的讨论场所。即使你可以在你的服务器运行IRC服务器时,也不必为此事麻烦。而应该象其他人一样:在Freenode(http://freenode.net/)运行你的IRC频道。Freenode给了你足够的权利来管理你项目的IRC频道,[17]可以让你摆脱维护IRC服务器这类无意义的麻烦。 首先要选择一个频道名称

  • 本文向大家介绍Python如何实现机器人聊天,包括了Python如何实现机器人聊天的使用技巧和注意事项,需要的朋友参考一下 今天午休的时候,无意之中看了一篇博客,名字叫Python实现机器人,感觉挺有的意思的。 于是用其写了一个简单的Python聊天,源码如下所示: 注意:如果出现某某模块找不到的时候,记得使用pip安装对应的模块。 效果图如下所示: 唯一美中不足的是英文,不过没关系,国内有图灵机

  • 本文向大家介绍基于swoole实现多人聊天室,包括了基于swoole实现多人聊天室的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了swoole创建多人多房间聊天室的具体代码,供大家参考,具体内容如下 核心的swoole代码 基本的cs(client-sercer)结构不变,这里利用的是redis的哈希和set来储存和分组;从而达到了分组,统计,定时推送等功能;最后利用onclose事

  • 本文向大家介绍websocket+node.js实现实时聊天系统问题咨询,包括了websocket+node.js实现实时聊天系统问题咨询的使用技巧和注意事项,需要的朋友参考一下 1.最近新学习websocket。做了一个实时聊天。用Node.js搭建的服务:serevr.js. 两个相互通信页面:client.html 和server.html 但是就是有很多问题,想让知道的人帮我看看哈: 我先

  • 本文向大家介绍Python基于Socket实现简单聊天室,包括了Python基于Socket实现简单聊天室的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Python基于Socket实现简单聊天室,供大家参考,具体内容如下 服务端 客户端 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。