因此,我制作了一个快速聊天应用程序,它首先请求php文件从mysql adatbase加载旧消息,然后使用socket.io设置实时聊天。
每当用户发送消息时,它都请求一个php文件,该文件检查文本是否有效,然后我进行加密,并将新消息以加密版本存储在数据库中,并将带有socket.io的原始消息发送给正确的用户。
存储正在变化的用户数据的好方法是什么?(昵称,简介图片)
是当前保存中消息的快速数组,如下所示:
....| chatRooms
........| chatRoomId
........| messages(array)
............| userId
............| message将昵称与我所知道的消息一起存储并不是一个好主意,因为消息正在被缓存,如果用户退出并重新加载应用程序,缓存的昵称将显示在旧消息上,而新昵称将显示在新消息中。
你有什么建议吗?
发布于 2018-03-13 19:02:18
由于您已经在使用userId,所以很明显您需要一个新的实体用户,其ID、昵称、配置文件图片等等。
如果您的目标是限制查询并只在需要时加载新的配置文件,那么您可以从服务器广播一条消息,指示哪个userId已经更改了数据,因为您使用的是websockets。这是为了避免每次重新加载所有数据(问题当然是配置文件图片)。
https://stackoverflow.com/questions/49262451
复制相似问题