【发布时间】:2014-11-04 08:11:06
【问题描述】:
我们正在实施StackExchange.Redis 来存储有关三个电子商务网站(大约 18,500 种产品)的所有信息。信息存储在 SQL Server 数据库中,映射到自定义对象,然后使用此键命名约定添加到 Azure Redis 缓存中:
urn:products:{0}:{1}
(其中 0 是商店标识符,1 是产品标识符)。我阅读了Where are KEYS, SCAN, FLUSHDB etc? 并能够通过模式获得与urn:products:{0} 匹配的键。我们面临的问题是我们的项目涉及很多GetAllProducts List < Products >、GetAllCategories List < Categories >,然后被LINQ函数使用。
基于此:
- 我尝试将所有产品(自定义对象列表)存储在一个键 (
urn:products:all) 中,但这种方法会在 Azure Redis 缓存中产生超时。这种方法是建议的方法吗?还是最好将每个产品存储在单独的密钥中? - 我认为循环每个键来获取每个值是不正确的。是否可以按模式获取键/值的集合?
- 我也阅读了 HASHES,但我认为它们对我们的要求没有帮助。
【问题讨论】:
-
你不能@提问的人。
-
当你问可以吗?这听起来像是基于意见的答案,所以不适合 SO
-
删除了有问题的@(不知道)。更改了第一个问题以避免基于意见的答案。
标签: c# linq azure stackexchange.redis