我目前正在使用Redis作为Mongo数据库的时间排序索引。我的mongo文档看起来像这样:
{
_id : MongoId,
title : "Title",
publishDate : new Date().getTime(),
attachments : [
{
title : "Title",
type : "VIDEO"
},
{
title : "Title",
type : "PHOTO"
},
{
title : "Title",
type : "LINK"
}
]
}
附件中可以包含0到3个项目。 (没有附件,只有链接/仅视频/唯一照片,2种不同类型,3种不同类型)
每次将文档添加到Mongo时,它都会自动添加到Redis中的有序集中 publishDate(unix timestamp)用作分数,MongoId用作有序集成员。密钥的名称为“monitor:latest:feed”
如果附件数组包含链接,我会使用“monitor:latest:feed:links”键将相同的成员添加到已排序的列表中。视频/照片也一样。
结果是我有4个按时间排序的Redis列表。 列表被称为:
有没有办法可以删除最后3个有序集或使用其他一些在Redis中占用更少内存的数据结构?请记住,我仍然需要以某种方式按时间排序的成员。