首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redis数据库设计基础

Redis数据库设计基础
EN

Stack Overflow用户
提问于 2012-06-08 01:29:25
回答 1查看 811关注 0票数 2

我已经设计了我的第一个Redis数据库,并希望得到一些反馈,建议或提示。

概述:

我的redis数据库存储文章,这些文章可以按喜好、创建日期、更新日期、作者等进行分类。

文章中还包含“项目”,我还需要确定哪些文章中有“alteast 1”项。

创建

创建一篇新文章时,我会将其ID写入各种键。

ZADD的文章:创建‘时间戳ArticleID’

ZADD文章:更新的‘时间戳ArticleID’

ZADD的文章:喜欢‘0 ArticleID

SADD‘user:USERID: ArticleID

每当一篇文章被更新

ZADD文章:更新的‘时间戳ArticleID’

每当项目被添加到项目中时

ZADD的文章: ItemCount‘ItemCount ArticleID

如果一个项目被删除,并且没有任何项目,我只是删除它的成员。

ZREM的文章:itemCount‘ArticleID

因此,当涉及到排序时,我执行以下操作:

我执行一个ZUNIONSTORE,包含文章:'articles:updated'

  • With和'articles:itemCount'

  • With,我对结果执行一个ZINTERSTORE,‘articles:itemCount’

  • With执行一个ZREVRANGEBYSCORE

这所有的工作,找到并做我想做的事情,但我是新的Redis和开放的建议和改进。

由衷地,

-詹姆斯

EN

回答 1

Stack Overflow用户

发布于 2012-06-28 04:21:44

我同意你的解决方案。

要想改进,请考虑一下Transaction

创建

多重

ZADD的文章:创建‘时间戳ArticleID’

ZADD文章:更新的‘时间戳ArticleID’

ZADD的文章:喜欢‘0 ArticleID

SADD‘user:USERID: ArticleID

EXEC

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10942015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档