【发布时间】:2019-07-14 20:41:15
【问题描述】:
我正在尝试将 Redis 配置为 Java 应用程序中的缓存层。具体来说,Redis 的预期用途是维护会话状态。应用程序中的每个用户将表示为:
- 与会话 ID 对应的 UUID
- userId 值
- 上次访问时间
- 也许还有其他一些小领域
我对如何使用 Redis 的哈希感到困惑。 Jedis的接口是:
Jedis#hset(byte[] key, byte[] field, byte[] value)
也就是说,Redis 哈希有一个键,该键又指向另一个字段和值的映射。
我应该使用什么设计:
- 高效地将每个用户的 UUID 存储在哈希中
- 还可以利用 Redis 使文件过期的能力
对于上面的第二点,如果我想使条目过期,则必须在键级别而不是字段级别完成。但是,这意味着每个 UUID 都必须是散列中的一个单独的键,并且不清楚这是否是好的 Redis 设计。
【问题讨论】: