我们已经使用 Django 和 Django RestFramework 已经有很长一段时间了,在 Redis 中管理缓存面临着很多挑战,我们的模型看起来像
(1) 学校(学校详情)
(2) 教师(FK 学校,提供教师的所有详细信息)
(3) 学生(FK 教师,附有教师的所有详细信息)
我们的用户将在 School 上操作 CRUD 操作,例如 /get_all_info 应该返回一个 JSON 对象,例如,
{
"name": "something"
"teachers": [
{
"name": "teacher1 name",
"students": [
{
"name" : "student1 name"
}, ... all students of that teacher
]
}, ... all teacher of that school
]
}
此外,整个系统非常动态,每个组件都在不断变化。大约 90% 的请求属于上述类型。
我们正在考虑添加保存后信号以每次为学校删除完整缓存,就像学生在保存后更新一样,首先我们会找到他-她的学校,然后删除该学校的缓存。有没有更优雅/更好的方法?有没有可以处理所有这些的python库?