Quantcast
Channel: panjj 最新博客
Viewing latest article 35
Browse Latest Browse All 59

使用memcached作为Django的缓存

$
0
0
memcached不用介绍了,很出名的通用缓存中间件,Java,.Net,PHP,Python,Ruby等主流语言都能支持到。2goO网站之前一直用最原始的本地内存作为缓存,今天顺手改用memcached。过程很顺利,一两分钟就配好了,做下笔记:

2goO现在用ubuntu系统,首先在系统安装memcached:
sudo apt-get install memcached

瞬间安装完毕,计划使用64M内存把它运行在11211端口下:
memcached -d -m 64 -p 11211 -u root

好了,memcached已经跑起来。最后就是在Django上使用它了,其中需要安装python-memcached作为桥梁,安装方法:
pip install python-memcached

Django settings配置文件里绑定刚才安装好的memcached

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    }
}

重启2goO,memcached正式被2goO项目所用。

最后说说memcached服务的启动参数:

-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25-n 最小分配空间,key+value+flags默认是48

-h 显示帮助


怎么查看进程能?

netstat -anp|grep 11211

查看11211端口端口可以看到它的进程:
tcp        0      0 0.0.0.0:11211           0.0.0.0:*               LISTEN      28091/memcached 
tcp6       0      0 :::11211                :::*                    LISTEN      28091/memcached 
udp        0      0 0.0.0.0:11211           0.0.0.0:*                           28091/memcached 
udp6       0      0 :::11211                :::*                                28091/memcached

可以用暴力的方法停止进程pid:
kill -9 28091

当然建议使用安全的方法操作:
sudo memcached -d stop -u root
sudo memcached -d restart -u root

(完)

Viewing latest article 35
Browse Latest Browse All 59

Latest Images

Trending Articles