gpt4 book ai didi

caching - WebApi - Redis 缓存与输出缓存

转载 作者:IT王子 更新时间:2023-10-29 06:01:18 24 4
gpt4 key购买 nike

我一直在研究 Redis(完全没有经验 - 只是学习理论),并且在做了一些研究之后,发现它也被用作缓存。例如StackOverfollow 本身。

我的问题是,如果我有一个 asp.net WebApi 服务,并且我在 WebApi 级别使用输出缓存来缓存响应,我基本上是在服务器内存中存储某种键/值(请求/响应)以提供缓存回复。

现在由于 redis 是一个内存数据库,它如何帮助我用 redis 缓存替代 WebApi 的输出缓存?

有什么好处吗?

我试图通过这个答案 redis-cache-vs-using-memory-directyly ,但我想我没有得到答案中的关键行:

“基本上,如果您需要您的应用程序在共享相同数据的多个节点上扩展,那么将需要 Redis(或任何其他远程键/值存储)之类的东西。”

最佳答案

I am basically storing kind of key/value (request/response) in server's memory to deliver cached responses.

这意味着在服务器重启后,服务器将不得不重建缓存。 Redis 不会是这种情况。因此,Redis 相对于自制内存解决方案的优势之一是持久性(仅当这对您来说是个问题并且您不打算自己编写持久性时)。

然后,您可以使用 Redis EXPIRE,而不是编写自己的过期机制。或命令 EXPIREAT 或者甚至在使用 SETEX 将 api 输出字符串放入缓存时简单地指定过期时间戳.

if you need your application to scale on several nodes sharing the same data

这意味着,如果您有多个相同 api 服务器的实例,将缓存放入 redis 将允许这些服务器共享相同的缓存,从而减少,例如,内存消耗(1 个缓存而不是 3 个缓存)内存缓存)等等...

关于caching - WebApi - Redis 缓存与输出缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22605272/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com