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 CodePython操作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 retadd 添加一条键值对,如果已经存在的 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区别分析