Django localmem 大小

Man*_*dhe 2 python django caching

Django 本地内存缓存的默认大小是多少。 https://docs.djangoproject.com/en/1.8/ref/settings/没有提及任何内容。 https://docs.djangoproject.com/en/1.8/topics/cache/#cache-arguments说它是 300,但以下代码总是返回不同的值:

for i in range(0, 10000):
    cache.set(i, i)
    first = cache.get(0)
    if first is None:
        print i
        break
Run Code Online (Sandbox Code Playgroud)

我见过的值从 150ish 到 1500ish 不等。

谢谢!

Dan*_*man 5

根据代码,默认缓存大小为 300 。

您的代码片段不会告诉您有关缓存大小的任何有用信息。当 locmem 缓存已满时,后续的设置将导致它仅根据其键在字典中的位置的模数来逐出项目,这是不可预测的。不会尝试基于 LRU、FIFO 或任何其他算法进行驱逐。

这是不使用此后端生产的另一个原因。