使用Redis是否违反了REST原则?

使用Redis是否违反了REST原则?,rest,web-applications,redis,Rest,Web Applications,Redis,我正在创建一个用于数据分析的webapp。我想使用Redis存储用户上传的数据,以便将其发送到其他页面/视图。此数据仅在会话期间有效,并应在会话到期时过期 这是否违反了休息原则?或者,如果我使用存储在服务器端的某个值作为会话密钥/标识符,这仅仅是一个问题吗?对于您的更新,您可以上传数据,生成一个密钥,将其放置在Redis中,并将其保存在散列中(带有元数据)或列表中(如果可能有多个上传)。它们的list/hash键可以通过用户id来识别 接下来,让客户端使用生成的id引用此对象 实际上,通过in

我正在创建一个用于数据分析的webapp。我想使用Redis存储用户上传的数据,以便将其发送到其他页面/视图。此数据仅在会话期间有效,并应在会话到期时过期


这是否违反了休息原则?或者,如果我使用存储在服务器端的某个值作为会话密钥/标识符,这仅仅是一个问题吗?

对于您的更新,您可以上传数据,生成一个密钥,将其放置在Redis中,并将其保存在
散列中(带有元数据)或
列表中(如果可能有多个上传)。它们的
list/hash
键可以通过
用户id
来识别

接下来,让客户端使用生成的id引用此对象

实际上,通过internet使用Redis的最佳实践之一是公开RESTAPI并使用Web服务器处理所有通信。Redis始终保存在一个安全的网络中,因为Redis不提供任何安全性

在Redis网站上

网络安全 除了受信任的人之外,任何人都不能访问Redis端口 网络中的客户端,因此运行Redis的服务器应该 仅可由实现应用程序的计算机直接访问 使用Redis

通常情况下,一台计算机直接暴露于 internet,例如虚拟化Linux实例(Linode、EC2,…) Redis端口应安装防火墙,以防止外部访问。 客户端仍然可以使用环回访问Redis 接口

这也是使用传统数据库时的基本做法。

您如何将REST与在Redis中存储数据进行比较?您是否将Redis端口公开给internet?Redis端口不公开给internet。只有应用程序服务器才能写入。你能解释一下你说的这句话是什么意思吗
或者,如果我使用存储在服务器端的某个值作为会话密钥/标识符,这只是一个问题吗?
。我将尝试回答这个问题,我的意思是,我想存储用户在当前会话期间上载的数据。我还不想把它保存到MySQL数据库中。我也不希望每个请求都通过HTTP传输数据。数据量大,约10-50MB。因此,也许我应该在会话期间将其存储在Redis中。现在我如何从Redis中查找数据?我应该使用客户端发送的密钥吗?类似会话ID的东西?让我重述一下你说的话,并告诉我这是否正确。用户上传数据(~50MB)。您的服务器不希望将其存储在数据库中,而是临时存储在缓存中,但您希望客户端具有此会话的链接。如果会话过期,则该项应过期。因此,你基本上是在问,如何才能跟踪这些键,如果这是正确的方法,为什么文本会被交叉?在最近的版本中有什么变化吗?这是答案的一部分,与问题无关。