0

そのような私のDjango Settings.py:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
        #'LOCATION': os.environ['MEMCACHED']
        'LOCATION': "127.0.0.1",
         #"BINARY" : True,
    },
}
SESSION_SAVE_EVERY_REQUEST = True
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SESSION_COOKIE_AGE = 0 

セッションを memcached に保存します。しかし、キャッシュの有効期限は常に 300 秒です!!

ジャンゴのドキュメントとして、彼らは SESSION_COOKIE_AGE = 0 はタイムアウトしないことを意味すると言いますが、キャッシュタイムアウトには使用されませんか?

それで、ブラウザを閉じるまでセッションキャッシュがタイムアウトしないようにしたいですか?

セッションをmemcachedに保存するため、SESSION_EXPIRE_AT_BROWSER_CLOSEのみを設定するように言わないでください。キャッシュにも有効期限があります。キャッシュが期限切れにならないようにしたいです。

ありがとう。

4

2 に答える 2

1

理由がわかりました!

memcached を使用してセッションを保存し、設定CACHESする場合。Django は、キャッシュごとにデフォルトのタイムアウト (300 秒) を使用します。Settings.pySESSION_COOKIE_AGE=0

キャッシュがタイムアウトしないように設定したい場合は、追加する必要がありTIMEOUT=0ますCACHES

于 2014-06-30T06:54:04.593 に答える
0

編集 : 2006 年のこの投稿を見つけましたhttps://groups.google.com/forum/#!topic/django-users/oLZTAAA6wVE アプリの settings.py にこの設定を入れてみてください。

有効期限を非常に遠くに設定できると思います (たとえば、2050 など)。たぶん、誰が知っているか試してみてください:p。

于 2014-06-27T06:10:34.533 に答える