我的 Django 应用程序关于 Django 缓存的最佳方法

most optimal approach for my django application regarding django cache

提问人:varun_k_21 提问时间:11/18/2023 最后编辑:James Zvarun_k_21 更新时间:11/18/2023 访问量:23

问:

我正在将基于 DRF 令牌的身份验证与具有自定义用户模型的 Django 一起使用,并使用 PostgreSQL(在 AWS RDS 中)作为数据库。现在一切都在 AWS EC2 t3.micro 上运行(作为免费轮胎可用)。并使用SSL证书并正确配置nginx和Gunicorn,并作为wsgi应用程序正常工作。

现在我添加了一个使用 django 频道的聊天功能(在我的本地系统中,而不是在 ec2 上)。现在我的聊天应用程序被设计成,如果用户向离线用户发送消息,我会将它们存储在 django filecache 中(决定不将聊天存储在数据库中以减少对数据库的读/写操作)(key=username,value=[msg1,msg2,...]),并在他有空时发送它们。并使用Inmemory_channel_layer后端。在我的本地系统中一切正常。

现在我想要的是:

  1. 由于不建议将文件缓存用于生产,因此我想要一种有效的方法来缓存它。我应该使用 Redis 还是对于这么小的任务来说太过分了?,如果我想使用 Redis,我应该在我的 ec2 实例本身中使用它还是使用 aws 弹性缓存单独托管?或者有更好的选择吗?

  2. 如果可能的话,我也想使用相同的缓存进行令牌身份验证(令牌的副本作为键,值作为缓存中的用户对象),以减少数据库的大量负载。

请向我提供所有可能的选项,这些选项是最佳且具有成本效益的,并且正好适合这项任务。

Django 缓存 WebSocket Redis

评论

1赞 RobertPro 11/18/2023
我不会为您提供解决方案,但据我了解,您应该在 EC2 实例中使用 redis,它会正常工作。
0赞 varun_k_21 11/18/2023
我猜 t3.micro 实例太小了,那么它会毫无问题地支持 Redis 吗?
0赞 RobertPro 11/18/2023
我会说,你应该尝试一下。
0赞 varun_k_21 11/18/2023
明白了,非常感谢你

答: 暂无答案