如何配置CKAN以存储除磁盘以外的其他位置的会话(例如DB或memcached)?

时间:2012-12-08 19:24:16

标签: session ckan

CKAN使用Pylons,因此使用Beaker。因此,它似乎在磁盘上存储会话信息(和其他缓存信息)。有没有办法配置CKAN来存储除磁盘以外的其他地方的会话信息,例如DB或memcached?

我特别要问,因为a)你可能遇到在磁盘上存储会话的问题(如果你有很多会话)b)我想在像Heroku这样的东西上运行CKAN,其中磁盘上的会话会导致问题(特别是如果你有超过1个过程)

1 个答案:

答案 0 :(得分:2)

使用以下命令安装memcached:

sudo apt-get install memcached

默认配置应具有在端口11211上侦听localhost的设置./etc/memcached.conf:

-l 127.0.0.1
-p 11211

对于CKAN / Beaker来说,你需要Python模块pylibmc和libmemcached。首先安装libmemcached2并查看发行版随附的版本:

sudo apt-get install libmemcached2

Lucid附带v0.31-1,需要pylibmc不迟于版本0.9。如果你有0.32,那么你可以使用更新的pylibmc。现在安装pylibmc:

pip install pylibmc==0.9

然后在你的ckan配置中,你设置Beaker与它交谈:

beaker.session.type = ext:memcached
beaker.session.url = 127.0.0.1:11211

重新启动后,您应该使用Beaker,而不是创建最终完全填满磁盘的文件。