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. TensorFlow学习笔记9-深度模型的优化

    深度模型的优化 回顾概念: 代价函数时训练集上损失函数的平均: \[J(\theta)=E_{(x,y)\sim \hat{p}_{data}}L(f(x;\theta),y) \tag{1}\] 引 ...

  2. Web前端开发 --》 如何实现页面同时在移动端和pc端的兼容问题

    很简单,只需要在html文件中对你引入的css进行一个类似于媒体查询的操作 <!DOCTYPE html> <html lang="en"> <hea ...

  3. 前端 CSS 盒子模型 padding 内边距 属性

    padding:就是内边距的意思,它是边框到内容之间的距离 另外padding的区域是有背景颜色的.并且背景颜色和内容区域的颜色一样.也就是说background-color这个属性将填充所有的bor ...

  4. 触摸板PCB制作-TM12

    1.布局: 使 PSoC 与Sensor之间的距离保持最小化是一个不错的做法. 通常将 PSoC 与其他组件一起贴装到底层,而将 CapSense Sensor置于顶层上.  Sensor和栅格地层位 ...

  5. Eclipse- 使用记录(1)

    1.快捷键篇 (1)常用的快捷键: 1>ctrl+shift+R:查找源 2>ctrl+shift+G:查找引用 3>alt+Enter:查看某文件或文件夹的Properties ( ...

  6. 8、神经网络:表述(Neural Networks: Representation)

    8.1 非线性假设 我们之前学的,无论是线性回归还是逻辑回归都有这样一个缺点,即:当特征太多时,计算的负荷会非常大. 下面是一个例子: 当我们使用x1, x2 的多次项式进行预测时,我们可以应用的很好 ...

  7. ASP.NET Core 2.2 : 二十六. 应用JWT进行用户认证及Token的刷新

    来源:https://www.cnblogs.com/FlyLolo/p/ASPNETCore2_26.html 本文将通过实际的例子来演示如何在ASP.NET Core中应用JWT进行用户认证以及T ...

  8. js中的函数声明置顶

    函数声明置顶是指 js引擎在读取变量与声明式函数时,会优先读取,例如如下 var a = 1: function a(){}; console.log(a); //这里得到的为1,而不是该functi ...

  9. Lamabda Where Select Find First等区别

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  10. TensorFlow 安装及使用

    安装 (1)安装包安装:pip install tensorflow==1.14 -i https://pypi.douban.com/simple virtualenv -p /usr/bin/py ...