我设计了我的第一个 Redis 数据库,希望得到一些反馈、建议或提示。
概述:
我的 redis 数据库存储文章,以后可以按喜欢、创建日期、更新日期、作者等排序...
文章还包含“项目”我还需要确定哪些文章中包含至少 1 个项目。
创建
创建新文章时,我将其 ID 写入各种键
ZADD 'articles:created' 时间戳 ArticleID
ZADD 'articles:updated' 时间戳 ArticleID
ZADD '文章:喜欢' 0 ArticleID
SADD 'user:USERID:articles' ArticleID
每当更新文章时
ZADD 'articles:updated' 时间戳 ArticleID
每当将项目添加到文章时
ZADD 'articles:itemCount' ItemCount ArticleID
如果一个项目被删除,并且没有项目保留,我只需删除它的成员
ZREM 'articles:itemCount' 文章ID
因此,当涉及到排序时,我会执行以下操作:
- 我使用 'articles:likes' 和 'articles:updated' 执行 ZUNIONSTORE
- 结果我对结果和“articles:itemCount”执行 ZINTERSTORE
- 结果我只需执行 ZREVRANGEBYSCORE
这一切都可以找到并做我想做的事情,但是我是 Redis 的新手,并且愿意接受建议和改进。
真挚地,
- 詹姆士