【发布时间】:2015-10-22 06:22:39
【问题描述】:
如何在 Redis 中缓存整个表,要么为单个键缓存整个表,要么为每个具有不同键的行缓存。如果我们为单个键缓存整个表,则每次都会返回整个表,即使我需要一条记录作为我的输出。我对 Redis 缓存很陌生,不清楚如何缓存整个表。
【问题讨论】:
如何在 Redis 中缓存整个表,要么为单个键缓存整个表,要么为每个具有不同键的行缓存。如果我们为单个键缓存整个表,则每次都会返回整个表,即使我需要一条记录作为我的输出。我对 Redis 缓存很陌生,不清楚如何缓存整个表。
【问题讨论】:
您应该使用Redis Hash,这样您就可以按其键索引该行并在 O(1) 中检索一个元素。
比如使用redis-cli(可以在http://try.redis.io试试)。
将行元素插入到名为“table”的键中的散列中:
> HSET table 100 "serialized row with id 100"
(integer) 0
> HSET table 101 "serialized row with id 101"
(integer) 1
获取与行键关联的值。
> HGET table 100
"serialized row 100"
获取哈希中的所有值:
> HGETALL table
1) "100"
2) "serialized row 100"
3) "101"
4) "serialized row 101"
【讨论】: