可能重複:
Django cache.set() causing duplicate key errorDjango緩存導致數據庫中重複的鍵錯誤?
我就遇到了這個問題,使用Django核心的數據庫緩存:
ERROR: duplicate key value violates unique constraint "cache_pkey"
STATEMENT: INSERT INTO "cache" (cache_key, value, expires) VALUES (E':1:cms-menu_nodes_en-us_1', E'gAJdcQEoY21lbnVzLmJhc2UKTmF2aW
LOG: server process (PID 8453) was terminated by signal 9: Killed
LOG: terminating any other active server processes
LOG: all server processes terminated; reinitializing
FATAL: could not create shared memory segment: Cannot allocate memory
DETAIL: Failed system call was shmget(key=5432001, size=29278208, 03600).
我在表中果然一看,有一個輸入密鑰':1:cms-menu_nodes_en-us_1'。我發現了一個類似的問題here,但無法準確理解問題所在。
任何人有任何想法或建議?聽起來像Django核心中的錯誤,因爲如果存在密鑰,它應該更新記錄。
編輯:我應該澄清,數據庫是PostgreSQL 8.4.7。感謝lazerscience。
編輯@傑克中號:我一直沒能複製這一錯誤,但相信該代碼是在django.core.cache.backends.db.DatabaseCache
在一個名爲set()
方法調用_base_set()
。
你試過什麼數據庫後端?與其他人一起嘗試... –
將此條目添加到緩存的代碼是什麼? –