python3+django使用memcached

本文介绍了如何在Django项目中集成Memcached作为缓存方案,包括安装Memcached及其Python客户端、配置Django缓存设置及示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

django支持很多缓存,目前我们的小项目只需要key-value式存储,因此使用高性能的memcached作为缓存,如果需要数据的持久化,对数据格式也有一定的要求,可以使用redis。

1. 安装

memcached分为两部分:在系统上安装memcached、安装python3-memcached。

安装memcached需要先安装:libevent=2.1.18

wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz 
tar -zxvf libevent-2.1.8-stable.tar.gz
cd libevent-2.1.8-stable
make && make install
ls -al /usr/local/lib |grep libevent

如果显示许多libevent_文件则表示安装成功

接下来是 memcached-1.4.35源码安装

wget http://www.memcached.org/files/memcached-1.4.35.tar.gz
tar xf memcached-1.4.35.tar.gz
cd memcached-1.4.35
./configure --with-libevent=/usr/local
make && make install

memcached启动

memcached -d -m 32 -p 11211 -u root -l 127.0.0.1 -p 11211 -c 2048

连接memcached查看状态

telnet 127.0.0.1 11211
stats

会输出memcache的一些连接信息,包括PID,如果需要退出,则执行quit命令即可,除了stats还有很多其他命令可使用

安装python3-memcached

pip3 install python3-memcached

2. django配置

首先在django的settings.py中的MIDDLEWARE的开头和结尾分别添加以下行,请注意,顺序和位置是要严格遵守的。

MIDDLEWARE = [
    'django.middleware.cache.UpdateCacheMiddleware',
     ....
    'django.middleware.cache.FetchFromCacheMiddleware',
]

接下来配置cache,添加以下行

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': ['127.0.0.1:11211'],
        'TIMEOUT': 60*60,
    }
}

3. 使用

from django.views.decorators.csrf import csrf_exempt
from django.views.decorators.http import require_POST
from django.core.cache import cache

@csrf_exempt
@require_POST
def start(request):
    # 写入缓存,timeout表示数据存活时长
    cache.set('key', 'v', timeout=20)
    # 从缓存中读取数据
    response_cache = cache.get('key')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值