【发布时间】:2011-10-03 17:58:41
【问题描述】:
我在使用 django core 的数据库缓存时遇到了这个问题:
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。感谢激光科学。
edit @ Jack M:我无法复制此错误,但相信代码在 django.core.cache.backends.db.DatabaseCache 中的一个名为 set() 的方法中致电_base_set()。
【问题讨论】:
-
你用什么数据库后端试过?也可以和其他人一起尝试...
-
将此条目添加到缓存中的代码是什么?
标签: python database django postgresql caching