Django:并发访问设置.py

2024-09-28 19:32:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我不确定是否需要关心并发性,但是我没有找到任何关于它的文档。你知道吗

我在我的settings.py中存储了一些数据,比如ip地址,每个用户可以获取一个或返回一个。所以我有读写操作,我希望在同一时刻只有一个用户读取文件。你知道吗

我该怎么办?你知道吗

是的,我想把数据存储在settings.py。我还找到了模块django-concurrency。但我在文件上找不到任何东西。你知道吗


Tags: 模块文件数据django用户文档pyip
2条回答

如e4c5所述,按照惯例设置.py逻辑上很简单。设置的加载机制相当模糊,我个人喜欢远离难以理解和交互的东西:)

你绝对要关心并发性。你是如何运行你的应用程序的?这很棘手,因为在dev env中,您有一个简单的服务器,并且通常只在同一时间处理少数请求(几年前dev服务器是单线程的)

如果您使用分叉服务器运行应用程序,那么您将如何在进程之间共享数据?一个进程甚至看不到其他进程的变化。我甚至不确定线程服务器会是什么样子,但它可能至少需要对web服务器进行源代码审计,以了解如何处理请求以及如何共享内存的细节。你知道吗

使用DB是目前为止最简单的解决方案(您应该能够使用内存DB作为memcache/redis/etc选项)。DB提供了开箱即用的并发支持,将更易于推理,并为并发访问数据提供原语。对于redis,它是单线程的,您甚至不必担心对共享IP地址的并发访问

And yes, I want to store the data at the settings.py.

不,你绝对不想那样做。这个设置.py文件正在配置django和任何可插入的应用程序。它不是用来倾倒数据的地方。数据进入数据库。你知道吗

别忘了设置.py文件通常只读取一次。你知道吗

相关问题 更多 >