广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Memcached使用总结之:使用Pyt
  • 691
分享到

Memcached使用总结之:使用Pyt

MemcachedPyt 2023-01-31 01:01:53 691人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

python连接memcached的库有很多,处于简单以及高效的原则,最终选择了pymemcache, 优点 完全实现了memcached text协议对于send/recv操作可以配置timeout支持"noreply"特性,该可行可

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

--结束END--

本文标题: Memcached使用总结之:使用Pyt

本文链接: https://www.lsjlt.com/news/184921.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Memcached使用总结之:使用Pyt
    Python连接memcached的库有很多,处于简单以及高效的原则,最终选择了pymemcache, 优点 完全实现了memcached text协议对于send/recv操作可以配置timeout支持"noreply"特性,该可行可...
    99+
    2023-01-31
    Memcached Pyt
  • phpcms缓存使用总结(memcached、eaccelerator、shm)
    a.模板编译缓存参考文件include/global.func.php及include/template.func.php模板编译缓存的原理其实很简单,如果模板是第一次编译,则直接编译它,如果不是第一次编译,则比较模板文...
    99+
    2022-06-12
    phpcms 缓存
  • Java数据结构之List的使用总结
    目录泛型什么是泛型泛型的分类泛型的定义简单演示泛型背后作用时期和背后的简单原理泛型类的使用泛型总结包装类基本数据类型和包装类直接的对应关系包装类的使用,装箱(boxing)和拆箱(u...
    99+
    2022-11-12
  • python之字典使用方法总结
    文章转载一个博客,文章概括字典很全,但是排版很乱,自己整理了一下数据字典 字典(dictionary)是除列表之外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过...
    99+
    2023-01-31
    使用方法 字典 python
  • Memcached使用
    Memcached的使用1.1安装libeventMemcached下载地址http://memcached.org/downloadsLibevent下载地址:http://libevent.org/安装...
    99+
    2022-10-18
  • Android程序开发之WebView使用总结
    前言: 今天修改项目中一个有关WebView使用的bug,激起了我总结WebView的动机,今天抽空做个总结。 使用场景: 1.)添加权限 <uses-perm...
    99+
    2022-06-06
    webview Android
  • w3m使用总结
    ...
    99+
    2023-01-31
    w3m
  • redis 使用总结
    最近一段时间与redis接触比较频繁。发现有些东西还是工作中经常会用到的,自己也花了点时间巩固下。本篇文章主要是以总结性的方式梳理,因为redis的主题很大,任何一个技术点展开都是几篇文章的量。也可以说这篇...
    99+
    2022-10-18
  • sqlite3使用总结
           OS X自从10.4后把SQLite这套相当出名的数据库软件,放进了作业系统工具集里。OS X包装的是第三版的SQLite,又称SQLite3。这套软件有几个特色:软件属于公共财(public domain),SQLite可说...
    99+
    2023-01-31
  • clipboard.js使用总结
    目录(1)介绍: (2)clipboard复印内容的方式有 (3)Function操作有两种: (4)通过属性返回复印的内容 (5)函数和属性的兼容方式 (1)介绍: clipbo...
    99+
    2022-11-12
  • BigDecimal使用总结
    对于超过16位的大型数字,需要用到Java在java.math包中提供的API类BigDecimal,而且也不是传统的+-*/,而是调用对应的方法。 1.创建对象 使用new的方式创建BigDecim...
    99+
    2023-09-03
    java BigDecimal
  • PythonStock(4):使用pyt
    ...
    99+
    2023-01-31
    PythonStock pyt
  • Android ProgressDialog使用总结
    ProgressDialog 继承自AlertDialog,AlertDialog继承自Dialog,实现DialogInterface接口。 ProgressDialog的创...
    99+
    2022-06-06
    progressdialog Android
  • Java ArrayList使用总结
    目录类图源码解析新增和扩容实现扩容的本质删除总结提起ArrayList,相信很多小伙伴都用过,而且还不少用。但在几年之前,我在一场面试中,面试官要求说出ArrayList的扩容机制。...
    99+
    2022-11-12
  • aws S3使用总结
      最近公司要上海外项目,要用到亚马逊。可把我折腾的够呛。好多坑。不得不说亚马逊的东西挺好最起码服务器性能比阿里云强多了。但在人性化这一点做的不如阿里。反正是各有千秋  这里说一下我的案例:要把图片cdn上的图片传到S3。这里我试了很多方法...
    99+
    2023-01-31
    aws
  • 总结phpredis之zrangeByScore用法
    本文给大家介绍有关phpredis 扩展:zrangeByScore的用法,希望对需要的朋友有所帮助~phpredis之zrangeByScorelaravel 目前默认推荐使用的 phpredis 扩展,汇总一下 zrangeByscor...
    99+
    2023-05-14
    zrangeByScore phpredis
  • vue3 学习笔记之axios的使用变化总结
    目录一、axio 得基本使用 二、如何解决跨域问题? 三、封装 四、全局引用 axios 使用 axios 之前,需要先安装好。 yarn add axios npm ins...
    99+
    2022-11-12
  • android 各种存储目录使用总结之Context#getExternalFilesDir
    Context类中定义了获取手机系统目录的一些api。这里做一个总结: 一、api 注释翻译 File getExternalFilesDir(@Nullable String type) @Nullablepublic abstract ...
    99+
    2023-09-02
    android java
  • MySQL 使用规范总结
    1.必须使用InnoDB存储引擎 有更好的CPU和IO性能,更好的备份和锁表机制,提高统计和调试效率。 另外,作为一 个系统,InnoDB支持多种关键功能,其中最重要的是事务日志和行级锁。事务日志记录真正的数据库事务...
    99+
    2022-05-24
    MySQL 使用规范 MySQL 规范
  • Android ViewPager 的使用总结
    在一个窗口里面添加tab便签,完成便签切换来实现页面的切换,这样的好处是可以在同一个窗口里面有多个页面,这些页面共享同一个窗口的资源,同使用多个窗口来实现这个功能来得更加流畅!...
    99+
    2022-06-06
    viewpager Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作