所以,我有一个Web应用程序,它向服务器发出大量数据请求.项目要求是具有非常快的服务器响应时间.服务器托管在基于云的平台上.
该应用程序使用会话来记录用户身份验证后的用户身份验证.由于它托管在云提供商上,我使用缓存来备份会话存储(在我的情况下,它是Auzre缓存,但如果您不熟悉认为Redis)
目前的流程如下:
用户访问资源
尝试通过缓存基于会话ID获取会话.这是一个缓存请求.
用户通过会话状态进行身份验证(如果已登录).
通常通过缓存发送数据请求.
数据将返回给用户.
这种方法的问题在于它会两次触发缓存.完全删除会话导致显着的速度提升(约50%).
我正在考虑一次点击缓存,询问用户需要的密钥和SessionID来保存额外的往返行程.但是,我之前从未见过这种方法,它需要"滚动我自己的会话",因为我必须生成会话ID等.我觉得可能有一种更简单,更简单的方法.
注意:我正在使用带有C#的ASP.NET MVC/WebAPI,但我发现这个问题与这个问题没有关系,因此我将语言和平台排除在外.