所以我正在nodejs中开发一个视频同步应用程序,服务器允许创建一个房间,多人可以通过一个插座连接并同步观看视频。
其中一个要求是能够将房间的最新状态发送给任何正在连接或正在重新连接视频的观众,最新状态指的是其他观众在电影中的位置,电影是否正在播放、暂停或完成,以及当前有多少人连接到它。
我特别注重保存关于其他观众在电影中的位置的最新信息。
所以我想做以下几点(如果有更好的方法,请告诉我)
让每个客户报告他们目前的状况 x
在电影中以一定的间隔随着房间id,说2秒。
如果我的数据存储中没有房间id的记录,请创建一个。
如果有记录,检索它,检查它在电影中的最新位置 y
如果需要,请更新 x
> y
我曾考虑使用redis作为所有这些操作的主要数据存储,因为据说它比传统的db读/写更快,但我关心的是,它是否能正确扩展。
在现实生活中,写的次数会比读的次数多得多,而且每次写的次数也是读的次数,我只在特定条件下检查值并更新。
我在某个地方读到redis更新被阻塞了,如果我有更多的写/更新而不是读,它实际上可能会减慢读的速度。
那么我有什么选择呢?
暂无答案!
目前还没有任何答案,快来回答吧!