Memcache模块

mac2022-06-30  70

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

Memcached安装和基本使用

Memcached安装:

1 wget http://memcached.org/latest 2 tar -zxvf memcached-1.x.x.tar.gz 3 cd memcached-1.x.x 4 ./configure && make && make test && sudo make install 5 6 PS:依赖libevent 7 yum install libevent-devel 8 apt-get install libevent-dev View Code

启动Memcached

1 memcached -d -m 10 -u root -l 10.211.55.4 -p 12000 -c 256 -P /tmp/memcached.pid 2 3 参数说明: 4 -d 是启动一个守护进程 5 -m 是分配给Memcache使用的内存数量,单位是MB 6 -u 是运行Memcache的用户 7 -l 是监听的服务器IP地址 8 -p 是设置Memcache监听的端口,最好是1024以上的端口 9 -c 选项是最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定 10 -P 是设置保存Memcache的pid文件 View Code

Python操作Memcached

安装API

1 python操作Memcached使用Python-memcached模块 2 下载安装:https://pypi.python.org/pypi/python-memcached 1 import memcache 2 3 mc = memcache.Client(['10.211.55.4:12000'], debug=True) 4 mc.set("foo", "bar") 5 ret = mc.get('foo') 6 print ret

add 添加一条键值对,如果已经存在的 key,重复执行add操作异常

replace 修改某个key的值,如果key不存在,则异常

set            设置一个键值对,如果key不存在,则创建,如果key存在,则修改set_multi   设置多个键值对,如果key不存在,则创建,如果key存在,则修改

delete             在Memcached中删除指定的一个键值对delete_multi    在Memcached中删除指定的多个键值对

get            获取一个键值对get_multi   获取多一个键值对

append    修改指定key的值,在该值 后面 追加内容prepend   修改指定key的值,在该值 前面 插入内容

incr  自增,将Memcached中的某一个值增加 N ( N默认为1 )decr 自减,将Memcached中的某一个值减少 N ( N默认为1 )

gets 和 cas

Memcache django应用

1。模板应用

1 {% load cache %} 2 3 {% cache 5 "kkkkkkkk" %} 4 5.秒数 5 kkkkkkkk 为Memcache 传入的k值 6 {% endcache %}

2.装饰器

1 from django.views.decorators.cache import cache_page 2 3 @cache_page(5)

3.中间件

1 'django.middleware.cache.UpdateCacheMiddleware', 2 'django.middleware.security.SecurityMiddleware', 3 'django.contrib.sessions.middleware.SessionMiddleware', 4 'django.middleware.common.CommonMiddleware', 5 'django.middleware.csrf.CsrfViewMiddleware', 6 'django.contrib.auth.middleware.AuthenticationMiddleware', 7 'django.contrib.messages.middleware.MessageMiddleware', 8 'django.middleware.clickjacking.XFrameOptionsMiddleware', 9 'django.middleware.cache.FetchFromCacheMiddleware',

setting配置

1 CACHES = { 2 'default': { 3 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 4 'TIMEOUT': 5, 5 'LOCATION': [('192.168.11.81:12000',1),] 6 } 7 } 8 9 10 CACHE_MIDDLEWARE_SECONDS = 5

 

转载于:https://www.cnblogs.com/xupan446860117/p/8506045.html

相关资源:php模块memcache和memcached区别分析
最新回复(0)