我应该只将ID存储到Redis中,然后使用ID查询SQL

时间:2011-07-10 10:49:12

标签: c# redis

如果我想在页面上显示最近发布的最新帖子数量@评论,我会使用LPUSH存储ID列表,然后使用LTRIM使列表保持一定的大小。< / p>

然后我是否使用从LRANGE返回的ID来获取帖子\评论的详细信息:

a)Redis使用MGET我传递的地方:

MGET comment.1.author,comment.1.content,comment.1.timestamp,comment.2.author等

可以将所有评论详细信息存储在Redis中吗?

b)SQL数据库使用列表,如果查询中的ID

1 个答案:

答案 0 :(得分:3)

如果你想单独存储这些字段, hash 似乎比5个键更合适,即“comment.1”是键,其中子键为“author”,“内容“,等等。但是,除非你有原因只想要ID,否则我很想将整个事物存储为json或二进制的序列化块 - 然后你只需{{1}并且你拥有数据 - 没有大惊小怪和最小的旅程。

为了减少带宽,我会使用像protobuf-net这样的存储空间(尽管我可能有偏见),如果你需要一个二进制安全客户端,BookSleeve会做得很好。