我在项目开始时已经被我的经理要求看看Redis,因为我们已经有了一个集群。
基本上这个项目非常小,2页目的相同:显示项目或视频列表。 无论在某种程度上它的图像是描述,另一种是视频+描述。
我刚刚开始研究数据库,因此我有最后一个Redis版本,使用python(Flask / Tornado),这是我关注的问题: 根据我对Redis的理解,您只能拥有一个KEY VALUE架构。
对于项目中的项目,您可以使用以下列表:LPUSH listkey keyvalue
我的短期问题: 将项目添加到项目列表后,如果我只想更改标题,是否必须更新整个值?
我的中期问题: 如果我的展厅有订购选项,请说第25个元素成为第2个,是否很难在列表中进行修改?它是否适用于List?我怎么想在那之后找到关键位置?
我越是调查它越少,我发现它适合我必须做的事情。 我希望自己错了,因为Redis太快了,而且很简单!
答案 0 :(得分:1)
解决此问题的一种方法是将每个项目/视频存储在一个哈希键中,该键的名称是该元素的ID(例如video:123
)。请注意,您可以更新哈希的各个字段(例如说明)。
要跟踪元素,请使用排序集,其中成员是元素ID(键名),其分数反映显示顺序。这将使您既可以轻松控制显示内容和顺序,也可以通过该页面进行翻页。
注意:列表是此任务的数据结构的错误选择,因为它们的成员是不可变的,并且搜索它们具有O(N)时间复杂度。