【问题标题】:How to store two different cache "tables" in Redis under the same database/index?如何在同一数据库/索引下的 Redis 中存储两个不同的缓存“表”?
【发布时间】:2016-07-15 20:35:33
【问题描述】:

试图建立两个缓存表的数据集(目前存储在SQL Server中)——一个是实际的缓存表(CacheTBL);另一个是暂存表(CacheTBL_Staging)。

表结构有两列——“key”、“value”

所以我想知道如何在 Redis 中实现这一点,因为我对这个 NoSQL 东西完全不熟悉。我应该使用 SET 还是 LIST?还是别的什么?

非常感谢您!

【问题讨论】:

    标签: caching redis nosql


    【解决方案1】:

    您需要决定是使用 SET 和 GET 为所有条目使用单独的 REDIS 键,还是使用 HSET 和 HGET 将它们放入散列中。如果您使用第一种方法,您的密钥应该包含一个前缀来区分主要和暂存。如果你使用哈希,这不是必需的,因为哈希名称也可以用来区分这些。您可能还需要决定如何检查缓存有效性,以及您的缓存刷新策略应该是什么。这通常需要 REDIS 中的一些额外数据结构。

    【讨论】:

    • 所以如果我使用 HSET 和 HGET,它看起来像这样: HSET myCacheHash key1 value1 HSET myCacheHash_Staging key2 value2 其中 myCacheHash 和 myCacheHash_Staging 有点像 sql server 表名 - CacheTBL 和 CacheTBL_Staging ?
    • 是的,就是这样。您可能也应该尝试其他选项。例如,您可以为每个键存储一个散列,包含子键“main”和“staging”,如果这适合您的使用。
    • 谢谢@Hans-Martin!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 2014-03-12
    相关资源
    最近更新 更多