Python连接memcached的库有很多,处于简单以及高效的原则,最终选择了pymemcache,
优点
完全实现了memcached text协议
对于send/recv操作可以配置timeout
支持"noreply"特性,该可行可以先出的提高写的速度
使序列化/反序列化更简单
可以将网络异常,memecached错误当成是缓存丢失
安装pymemcache
pip install pymemcache
使用pymemcache
基本操作
from pymemcache.client.base import Client

client = Client(('localhost', 11211))
client.set('some_key', 'some_value')
result = client.get('some_key')
使用memcache集群
使用一致性HASH算法支持集群
from pymemcache.client.hash import HashClient

client = HashClient([('127.0.0.1', 11211),('127.0.0.1', 11212)])
client.set('some_key', 'some value')
result = client.get('some_key')

序列化操作
import json
from pymemcache.client.base import Client

def json_serializer(key, value):if type(value)== str:return value, 1
return json.dumps(value), 2

def json_deserializer(key, value, flags):if flags == 1:return value
if flags == 2:return json.loads(value)raiseException("Unknown serialization format")

client = Client(('localhost', 11211), serializer=json_serializer,
deserializer=json_deserializer)
client.set('key',{'a':'b', 'c':'d'})
result = client.get('key')

最佳实践
在构造Client时,添加timeout 的配置,防止block操作
使用“noreply”来提高性能,默认情况下改属性在“set”, “add”, “replace”, “append”, “prepend”, and “delete”.操作时是开启的,“cas”, “incr” and “decr”.操作时关闭的
尽可能的使用get_many以及gets_many操作,来减少round trip的操作实践
使用“ignore_exc” 属性,将网络异常,memecached错误当成是缓存丢失
主要URL:
pypi:https://pypi.python.org/pypi/pymemcache
官方文档: https://pymemcache.readthedocs.io/en/latest/getting_started.html
---------------------
作者:Eric_aihua
来源:CSDN
原文:https://blog.csdn.net/eric_sunah/article/details/51612192?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!

Memcached使用总结之:使用Python操作memcache的更多相关文章

  1. python操作memcache

            48.python 操作memcached                  Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存 ...

  2. 文成小盆友python-num11-(2) python操作Memcache Redis

    本部分主要内容: python操作memcache python操作redis 一.python 操作 memcache memcache是一套分布式的高速缓存系统,由LiveJournal的Brad ...

  3. Python之路【第十篇】Python操作Memcache、Redis、RabbitMQ、SQLAlchemy、

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

  4. Python自动化运维之17、Python操作 Memcache、Redis、RabbitMQ

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

  5. Python操作 Memcache、Redis、RabbitMQ、SQLAlchemy

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

  6. Python操作 Memcache、Redis、RabbitMQ

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

  7. Python操作 Memcache、Redis

    Python操作 Memcached.Redis 一.Memcached和Redis对比 1.1 Memcached和Redis的数据类型对比 memcached只有一种数据类型,key对应value ...

  8. python 操作 memcache

    目录 Memcached Memcached安装 python操作Memcached Memcache模块常用方法 Memcached Memcached是一个高性能的分布式内存对象缓存系统,用于动态 ...

  9. 使用python操作Memcache、Redis、RabbitMQ、

    Memcache 简述: Memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的.需要 ...

随机推荐

  1. centos 关于防火墙的命令

    CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #先检查是否安装了iptables service iptables st ...

  2. STL优先队列模板

    1. 优先队列 用途:按照某一个关键字对插入元素或删除元素后的数据集进行自动排序 复杂度: logN 2. 数据声明 (1)头文件:#include<queue> (2)声明:  prio ...

  3. 因chmod /usr致使raspberryPi重装

    一.系统安装noobs 设置用户名及密码,设置超级用户root密码:  sudo passwd root,回车后按提示输入两次root的密码(注意,输入时是不会提示*号的,直接输入即可) 二.源及软件 ...

  4. IDEA中lombok插件的安装

    1.在pom.xml中添加依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId&g ...

  5. js -- 监听窗口的大小变化

  6. 标准IO函数以及基本知识点总结

    什么是标准IO呢?有哪些特点? 标准IO是标准c库提供的对文件操作的函数接口.他的特点是:1 带缓存,2 大部分都调用系统接口函数实现.(c库就是一种实现好的函数接口,作用是屏蔽下层细节.提供上层接口 ...

  7. iOS开发 下滑隐藏Tabbar

    项目中用到下滑隐藏tabbar,上滑显示.      虽然实现起来非常简单,还是记录一下. -(void)scrollViewDidScroll:(UIScrollView*)scrollView { ...

  8. push代码到github时,每次都要输入用户名和密码的问题

    问题原由 我在Github上 建立了一个小项目TauStreamingServer,可是在每次push代码 的时候,都要求输入用户名和密码,很是麻烦. 如何才能避免每次都输入用户名和密码呢? 解决办法 ...

  9. Ikki&#39;s Story IV - Panda&#39;s Trick (poj 3207 2-SAT)

    Language: Default Ikki's Story IV - Panda's Trick Time Limit: 1000MS   Memory Limit: 131072K Total S ...

  10. Sublime Text使用

    安装Sublime Text Sublime 的安装比較简单,我们能够直接去官网http://www.sublimetext.com/,点击Download菜单.进入之后选择自己操作系统的进行下载安装 ...