在无状态(REST) API中使用Redis(存储用户相关数据)是错误的吗?



我正在使用socket.io构建一个nodejs聊天应用程序。我需要用user->socketID存储一个映射键值对(我的消息将有一个发送者和接收者,所以我可以发送到预期的接收者,如果我有套接字,他们在)。

我可以用一个全局变量来做。但这就使得它是有状态的。所以我想知道,因为Redis是一个内存缓存(它存储数据在ram我认为??)服务。是否在其中存储数据也使我的api有状态。因为我们还在存储一些用户信息。

是的,在服务器上存储任何类型的用户信息都违反了无状态REST API的规则,在无状态REST API中,客户端负责向您发送您需要在服务器上处理的所有数据。请通过这些链接来更好地理解。

如何理解"RESTful API是无状态的"?https://restfulapi.net/statelessness/

最新更新