Python 使用redis或mongodb存储用户信息

Python 使用redis或mongodb存储用户信息,python,mongodb,redis,Python,Mongodb,Redis,我需要在类似json的对象中存储一些用户和文档状态信息。例如: { "name": "Henry", "company": "Disney", "is_recommended": true, "plan_type" "free", etc. } 当用户登录或更改任何用户信息时,这些信息从数据库中提取并存储在会话的内存中 我有一些使用redis的经验,我觉得使用它很舒服,但我想知道,在redis中是否可以做到以上几点,而不必经历太多的麻烦。例如,以下是我需

我需要在类似json的对象中存储一些用户和文档状态信息。例如:

{
    "name": "Henry",
    "company": "Disney",
    "is_recommended": true,
    "plan_type" "free",
    etc.
}
当用户登录或更改任何用户信息时,这些信息从数据库中提取并存储在会话的内存中

我有一些使用redis的经验,我觉得使用它很舒服,但我想知道,在redis中是否可以做到以上几点,而不必经历太多的麻烦。例如,以下是我需要运行的一些查询:

update items set plan_type="Paid" where company = "Disney";
您认为在redis中实现上述功能是可行的,还是我应该尝试使用我认为是mongodb的其他工具来实现上述功能

99%的使用率将用于读取数据,而1%的使用率将以批量方式更新数据,并且需要即时完成


六年前也有人问过类似的问题——但我相信从那时起,redis和mongodb都发生了很大变化……

您可以使用集合或列表为company字段建立二级索引:

需要更新数据时,请执行以下步骤:

搜索公司索引以获取用户ID:SMEMBERS公司:Disney 搜索用户索引以获取用户属性:对于每个用户,do:get userid 更新属性 更新用户索引:为每个用户执行:设置userid新属性 这是实现目标的内置方式,需要更多的工作,而且有点复杂


然而,正如@Not_a_Golfer在评论中提到的,Redis有一个名为“为您完成工作”的模块。如果您使用的是Redis 4.0或更高版本,您可以试试。

读取操作是什么?你能发布一些你期待的阅读电话吗?试着重新搜索一下
SADD company:Disney userid1
SADD company:Disney userid2
SADD company:OtherCompany userid3