#167·redis

在 Web 应用程序中实现 Redis 缓存的问题

作者: deepak0878创建于 2025年5月16日更新于 2025年5月16日

您好, 我们正在我们的 Web 应用中实现 Redis,以提高性能,但我们面临一些挑战。请允许我解释一下场景: 我们有一个复杂的存储过程,在没有应用过滤器的情况下返回一个大型数据集(最多 10,000 条记录)。此存储过程同时由多个用户访问,常常会导致超时错误。 _StackExchange.Redis.RedisTimeoutException: 'Timeout awaiting response (outbound=6684KiB, inbound=0KiB, 5297ms elapsed, timeout is 5000ms), command=SET, next: SET SubscriptionBooks:620602d5-edd2-4b7a-8ccc-74b41b940fa4, inst: 0, qu: 0, qs: 1, aw: False, rs: ReadAsync, ws: Idle, in: 0, in-pipe: 0, out-pipe: 0, serverEndpoint: 10.158.59.114:6379, mc: 1/1/0, mgr: 10 of 10 available, clientName: SYS-USER, IOCP: (Busy=0,Free=1000,Min=16,Max=1000), WORKER: (Busy=14,Free=32753,Min=16,Max=32767), v: 2.2.62.27853 (请参阅此文档了解一些常见的客户端方面的信息)

为了解决此问题,我们正在考虑使用 Redis 缓存结果,并从 Redis 中服务数据,而不是每次都查询 SQL 数据库。 我们有以下查询: - 默认情况下,存储过程返回 10,000 条记录,如果没有选择过滤器。 - 我们尝试将所有 10,000 条记录存储在一个 Redis 键下,但遇到了超时错误。 - 如何解决此问题? - 即使我们将 10,000 条记录分成多个块存储,在从 Redis 中检索数据时仍会出现超时错误。 - 是否有任何方法可以直接在 Redis 数据上应用过滤器,而不是依赖于存储过程? 请让我们知道如果您需要更多信息。 谢谢 Deepak

内容来源: tporadowski/redis