This should give you a feel for how this module operates::

    import memcache
mc = memcache.Client(['127.0.0.1:11211'], debug=0) mc.set("some_key", "Some value")
value = mc.get("some_key") mc.set("another_key", 3)
mc.delete("another_key") mc.set("key", "") # note that the key used for incr/decr must be a string 此处需注意
mc.incr("key") # 自增increase
mc.decr("key") # 自减decrease The standard way to use memcache with a database is like this: key = derive_key(obj)
obj = mc.get(key)
if not obj:
obj = backend_api.get(...)
mc.set(key, obj) # we now have obj, and future passes through this code
# will use the object from the cache. 上面是python memcache 源码中对其使用方法的简单示例。 安装使用:
pip install python-memcached

memcache简单介绍:

1、memcached是最快、最有效率的缓存。完全基于内存的缓存框架。

2、memcached是由C语言编写,具有高性能,是一个分布式的对象缓存系统。

Memcached配置

-p <num>    设置端口号(默认: 11211)
-U <num> UDP监听端口 (默认: 11211, 0 时关闭,用户存取小数据)
-l <ip_addr> 监听地址 (默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问)
-d 独立进程运行
-u <username> 绑定进程的所有者 <username>
-m <num> 允许最大内存用量,单位M (默认: 64 MB)
-P <file> 将PID写入文件<file>,这样可以使得后边进行快速进程终止, 需要与 -d 一起使用
-s <file> 以unix socket方式监听(只允许本地访问),TCP/UDP将会被禁用

Memcached存取命令

、存储命令:
set:不管key存在与否,强制进行set操作;
add:必须在memcached中不存在相应key才能作用;
replace:要求memcached中必须存在相应key才能作用;
append:将数据追加到key对应value值的末尾。(不允许超过限制,用于管理list)
cas(check and set):另一个存储数据的操作,当你最后一次读取该数据后,
没有其它人修改该数据时,才可以写成功。用于解决更新数据时的竞争。 、获取命令:
get:获取一个key的或多个keys的值;
gets:带CAS的get命令,会返回带CAS标识(唯一的64位数字)的value。
delete:删除存在的项
incr/decr:自增或自减。只接受正整数。如果key不存在,incr/decr失败。
flush_all:清除memcached中所有项,主要采取将所有数据设置为过期的方式实现,可指定过期时间。

参考链接:

http://memcached.org/
http://code.google.com/p/memcached/wiki/NewStart?tm=6
http://sendapatch.se/projects/pylibmc/
http://libmemcached.org/libMemcached.html

django缓存优化(三)的更多相关文章

  1. django缓存优化中caches参数如何配置?

    在python开发中,如果运营django进行编写,为了提升效率,常常需要优化缓存,缓存优化中必须掌握的caches参数相关知识: CACHES 配置参数概述 - 格式 CACHES 字典配置格式如下 ...

  2. django缓存优化(二)

    一.缓存目的: 1.减小过载 2.避免重复计算 3.提高系统性能 二.如何进行缓存 三.缓存类型 四.缓存粒度分类 五.缓存的设置与使用 示例一: CACHES = { 'default': { 'B ...

  3. Django缓存优化之redis

    Redis 概述 Redis 是一个开源的Inmemory key-value 存储系统,性能高,很大程度上补偿了 memcached 的不足.支持多种存储类型,包括 string, list, se ...

  4. django缓存优化(一)

    在配置之前,先介绍一个实用的工具: 当我们进入虚拟环境,在shell中进行操作的时候,往往要导入django的各种配置文件: from django.x import xxxx 这时我们可以借助dja ...

  5. ContentType组件,Django缓存机制,跨域请求

    ContentType组件 解决什么问题:表的id和数据id,来唯一确定一条数据 用: 插入数据: models:content_obj = GenericForeignKey('table_id', ...

  6. contenttype组件、Django缓存机制以及跨域请求

    1 昨日回顾 版本控制 *** (1)url=127.0.0.1/course/?version=v100000 1 versioning_class=QueryParameterVersioning ...

  7. 一.rest-framework之版本控制 二、Django缓存 三、跨域问题 四、drf分页器 五、响应器 六、url控制器

    一.rest-framework之版本控制 1.作用 用于版本的控制 2.内置的版本控制 from rest_framework.versioning import QueryParameterVer ...

  8. django性能优化

    1. 内存.内存,还是加内存 2. 使用单独的静态文件服务器 3. 关闭KeepAlive(如果服务器不提供静态文件服务,如:大文件下载) 4. 使用memcached 5. 使用select_rel ...

  9. Django—— 缓存框架

    译者注:1.无用的,吹嘘的说辞不翻译:2.意译,很多地方不准确. 动态网站最为重要的一点就是好,网页是动态的.每一次用户请求页面,网站就要进行各种计算——从数据库查询,到render模板,到各种逻辑运 ...

随机推荐

  1. Oracle的substr函数简单用法(转)

    转:http://www.cnblogs.com/nicholas_f/articles/1526063.html substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('H ...

  2. JAVA的学习

    怎么说呢,我已经接触JAVA已经两周了,个人感觉还是不懂,哈哈,JAVA是一门编程语言,是大多数开发者较为习惯的编程模式,我感觉相对比C语言来说可能简单学点,可能是我先接触C语言把,或许因人而异把,在 ...

  3. python 安装成linux中的systemd守护运行

    参考文档1:https://blog.csdn.net/luckytanggu/article/details/53467687 参考文档2:https://www.jianshu.com/p/e14 ...

  4. ARM汇编1

    一. 指令和伪指令 1.1. 指令 a. (汇编)指令是CPU机器指令的助记符,经过编译后会得到一串10组成的机器码,可以由CPU读取执行. 1.2. 伪指令 b. (汇编)伪指令本质上不是指令(只是 ...

  5. Codeforces 429E(欧拉回路)

    题面 传送门 题目大意: 有n条线段,每条线段染红色或蓝色,使得数轴上每个点被红色线段覆盖的次数与被蓝色线段覆盖数差的绝对值小于等于1.输出染色方案. 分析 题意其实可以这样理解: 一段初始全为0 的 ...

  6. 数组去重,排序,重复次数,两个数组合并,两个数组去重,map(),filter(),reduce()

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. 「Vue.js」Vue-Router + Webpack 路由懒加载实现

    一.前言 当打包构建应用时,Javascript 包会变得非常大,影响页面加载.如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了.结合 Vue ...

  8. 洛咕 【P1891】疯狂LCM & 三倍经验

    经验给掉先: 经验*1 经验*2 经验*3 这里给个跑得比较慢的 \(n \sqrt n\) 预处理然后 \(O(1)\) 回答询问的做法 式子 首先我们推柿子: \[\begin{aligned}A ...

  9. 什么是dockerfile?

    什么是dockerfile? Dockerfile是一个包含用于组合映像的命令的文本文档.可以使用在命令行中调用任何命令. Docker通过读取Dockerfile中的指令自动生成映像. docker ...

  10. 5.canvas

    1.canvas:固定语句:定义画布/设置绘图环境为2d. 2.canvas样式:lineWidth线宽/strokeStyle绘制样式. 3.canvas绘制矩形: Context.moveTo(x ...