Redis与Django
Redis 似乎在 Django 中是一个很受欢迎的缓存选择,但它是否也可以作为我的 Django 模型的数据库呢?我在考虑把一个大型分类系统从 MySQL 转移到 Redis,里面有很多非常小的记录(只有名称、父级 ID 和 ID),所以虽然我对键值数据库的概念还比较陌生,但这似乎很合理?
我越是搜索,越发现好像没有简单的方法可以把 Redis 作为后端连接到 Django,以便与模型同步?
2 个回答
1
我虽然来晚了,但这可能对其他人有帮助。
Redis可以同时作为两种用途
- 作为主数据库
- 作为缓存
Django官方支持MySQL和Postgres数据库,因为它使用了ORM(对象关系映射)。
所以你可以把MySQL或Postgres当作主数据库,同时用Redis来缓存你最常用的数据模型,使用Redis中的哈希功能。
Redis其实是一个内存中的键值存储,如果出现故障,你的数据会丢失。
不过,Redis也支持持久化,你可以查看相关资料。
建议
我建议在Django中使用MySQL/Postgres作为主数据库,以便利用ORM的优势,同时使用Redis或memcached来进行缓存。
3
官方的Django框架只支持关系型数据库管理系统(RDBMS)。在你的情况下,我建议你看看一些项目,比如Django-nonrel。他们在博客上提到过关于Redis后端的内容。