使用React进行数据持久化和会话

文件

拥有“记住我”功能是非常有用的功能,并且使用React和Express实施相对容易。 从建立WebRTC聊天应用程序的最后一部分继续,现在我们将添加Mongo支持的持久会话和数据库支持的在线用户列表,以达到良好的效果。

会议?

如果您以前从未使用过会话,那么简而言之,它们与cookie十分相似,因为这些会话使您可以实时跟踪应用程序的活动用户。 会话实际上是通过session cookie工作的,该session cookie从您的应用程序的请求/响应标头中发送。

因此,cookie和会话本质上是交织在一起的。 那么,如果我们已经有Cookie,为什么我们需要会话? 会话还为您提供了定义应用程序服务器部分使用的后端存储的功能。 这意味着只要您的应用需要信息,就可以从数据库中检索信息。

因此,在一个用于聊天应用程序的真实示例中,我们现在可以存储用户的用户名,并且如果我们对应用程序进行了一些重新配置,还可以将整个聊天记录插入数据库中以进行日志记录。

在下一个示例中,我们将使用Mongo数据库进行持久性后端存储。 这是可用于会话存储的几个选项之一,对于具有多个Web服务器的大规模生产设置,我强烈建议另一个选择是memcache

文件储存

Mongo是NoSQL文档存储引擎,而不是诸如流行的MySQL之类的关系数据存储。 如果您来自MySQL或类似的数据库并且需要与Mongo保持联系,NoSQL真的很容易使您动手,这不会花很长时间。 您应该知道的最大区别如下:

  • 顾名思义,NoSQL不使用SQL来执行查询。 而是使用方法调用来抽象数据; 例如db.collectionName.find()将是SELECT * FROM table
  • 术语有所不同:在MySQL中,我们具有表,行和列,在Mongo中,它具有集合,文档和键。
  • 数据是结构化的,与JSON对象相同。

如果您还没有Mongo,请通过软件包管理器进行安装。 例如,在基于Linux的发行版中:

$ sudo apt-get install mongodb

一旦我们安装了蒙戈,我们可以轻松地添加蒙戈支持我们的聊天应用程序mongoose从NPM模块。 使用以下命令安装mongoose

$ npm install mongoose --save

现在,将一些Mongo添加到我们的应用程序中。 启动代码编辑器,然后打开app.js并将脚本顶部设置如下。

//Configure our Services
var PeerServer = require('peer').PeerServer,
    express = require('express'),
    mongoose = require('mongoose'),
    assert = require('assert'),
    events = require('./src/events.js'),
    app = express(),
    port = process.env.PORT || 3001;

//Connect to the database
mongoose.connect('mongodb://localhost:27017/chat
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值