前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Memcached使用总结之:使用Pyt

Memcached使用总结之:使用Pyt

作者头像
py3study
发布2020-01-14 15:41:46
1.1K0
发布2020-01-14 15:41:46
举报
文章被收录于专栏:python3python3

Python连接memcached的库有很多,处于简单以及高效的原则,最终选择了pymemcache,

  1. 优点
    1. 完全实现了memcached text协议
    2. 对于send/recv操作可以配置timeout
    3. 支持"noreply"特性,该可行可以先出的提高写的速度
    4. 使序列化/反序列化更简单
    5. 可以将网络异常,memecached错误当成是缓存丢失
  2. 安装pymemcache pip install pymemcache
  3. 使用pymemcache
    1. 基本操作 from pymemcache.client.base import Client client = Client(('localhost', 11211)) client.set('some_key', 'some_value') result = client.get('some_key')
    2. 使用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')
    3. 序列化操作 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')
  4. 最佳实践
    1. 在构造Client时,添加timeout 的配置,防止block操作
    2. 使用“noreply”来提高性能,默认情况下改属性在“set”, “add”, “replace”, “append”, “prepend”, and “delete”.操作时是开启的,“cas”, “incr” and “decr”.操作时关闭的
    3. 尽可能的使用get_many以及gets_many操作,来减少round trip的操作实践
    4. 使用“ignore_exc” 属性,将网络异常,memecached错误当成是缓存丢失
  5. 主要URL:
    1. pypi:https://pypi.python.org/pypi/pymemcache
    2. 官方文档: https://pymemcache.readthedocs.io/en/latest/getting_started.html
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档