我正在使用 Redis 在哈希中存储一堆“Foos”:
foo:<id> => {
name = 'whatever',
status = 'incomplete|complete|removed',
user = <user_id>,
...
}
我想设置一个索引,这样我就可以为特定用户提取具有特定状态的 Foos。我想出的最好的方法是使用这样命名的集合:
foo:user:<user_id>:status:<status> => [ <foo_id>, <foo_id2>, ... ]
但这似乎很笨拙,我必须确保跟踪旧状态并在更改状态时将其从一组中删除,以保持数据一致。我可以在这里使用更聪明的结构吗?