`
simomo
  • 浏览: 26126 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

UltraMemcache , UltraMySQL 初试

阅读更多

 

  • 这两个是由ESN公司开发的的memcache、mysql客户端
  • 显著特征是:
    • 完全由C、C++完成,更高效
    • 可以与gevent的socket monkey patch很好的配合,实现异步的memcache和mysql访问
  • 文档几乎为0,没有可供参考的例子。摸索了一点点东西记录如下:
    • UltraMemcache
      • 安装
        • 从github或者pypi上下载umemcache,解压后 python setup.py build install 安装
      • 使用
        • import umemcache
          mem_client = umemcache.Client('127.0.0.1:11211')
          mem_client.connect()
      • 问题
        • mem_client.is_connected()返回时True,说明连接成功,但是在mem_client.set('a', 'a')时,会爆出 error: [Errno 32] Broken pipe的错误。
          • 已解决:需要在set之前先调用connect方法
        • 而且按照set的doc,这个set方法的两个参数key value 都必须是string 或者 read-only buff。set('1', 2)这样都是不行的。所以,实际使用中可能需要自己pickle序列化。
    • UltraMySQL
      • 从github或者pypi上下载umysql,安装方法和umemcache一致
      • 使用
        • import umysql
          con = umysql.Connection()
          con.connect('127.0.0.1', 3306, 'root', '10612', 'test', 1, 'utf8')
          result = con.query('show tables;')
        •  connect方法接受5个参数,分别是:host, port, username, passwd, db-name, 是否autocommit, character-set。port要求是int,character-set的设置由于缺乏文档,试了几次才试出来utf-8编码是'utf8'。
        • connect对象提供的接口很少,只有一个query用来查询。
        • 查询结果也比较简单,只提供fields和rows两个属性来描述查询结果。
  • 能与gevent的monkey patch结合对于pythoner来说真是大大的利好,更何况纯C的实现,我猜测性能是很客观的;另外这两个项目都是ESN公司公开出来的,从官网上看这个公司是在卖一个名叫“Planet”的real-time web框架,这两个项目是他们Planet的中的组件,稳定性应该是可靠的,ps:看看版本号就知道了:umysql是2.1版,umemcache是1.2版。
  • 问题主要在于是提供的接口十分简单,与现有的库(python-memcache和mysqldb)的接口不一样,与django之类的框架结合时,需要自己搞定这些问题;没有文档,基本都是靠doc(***)和猜测来获得使用方法,又因为是纯c的实现(安装后,在dist-packages中是一个单独的*.so文件),”源码是最好的文档“也行不通。不过我想,这么有前途的特性足以让这两个库趁着coroutine的大潮在未来大红大紫的~
 

 

1
0
分享到:
评论
1 楼 cn.popeye 2012-06-07  
这个到真是可以看看

相关推荐

    csp - j初试模拟卷.docx

    csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟卷.docx csp - j初试模拟...

    基于c++的研究生初试录取管理系统全文件

    【标题】基于C++的研究生初试录取管理系统全文件 本系统是针对研究生初试录取流程而设计的一个管理软件,采用C++编程语言在Visual Studio环境下实现。C++是一种广泛应用的面向对象编程语言,以其高效、灵活性和强大...

    大连大学2023年初试科目大纲汇总.rar

    《大连大学2023年初试科目大纲汇总》是一份重要的教育资源,主要涵盖了该校硕士研究生入学考试的各项科目大纲。这份压缩文件的目的是为考生提供清晰的考试范围和学习指南,帮助他们有效地准备初试。以下是根据文件名...

    西南交大初试相关

    西南交通大学作为电气工程及其相关学科研究的重要学术阵地,其研究生入学考试(初试)一直备受关注,尤其是电力电子与电力系统分析这两个专业课目。对于志在报考西南交大研究生的学子而言,掌握这两个领域的核心知识...

    研究生初试录取 c++课程设计

    【研究生初试录取 C++课程设计】是一种编程实践任务,旨在考察学生的编程能力和对研究生入学考试规则的理解。在这个课程设计中,学生需要编写一个C++程序来模拟研究生初试的录取过程,根据设定的分数线来筛选合格的...

    研究生初试录取系统 c 课程设计报告

    研究生初试录取系统 C 课程设计报告 本课程设计报告的主要目的是设计一个研究生初试录取系统,旨在统计初试合格的人数,并按总分由高到低的顺序输出合格考生的信息。本系统需要输入考生姓名、准考证号、报考专业、...

    软件工程初试.zip

    《软件工程初试》资料集合是为准备武汉科技大学计算机专业考研初试的考生精心整理的一份宝贵资源。这个压缩包涵盖了三个主要部分:期末考试试卷、历年真题以及模拟预测题,旨在帮助考生全面深入地理解和掌握软件工程...

    新人教统编版五年级下册语文 交流平台与初试身手 课件.pptx

    新人教统编版五年级下册语文中的“交流平台与初试身手”课件,正是以此为教学目标,引导学生掌握一系列描写人物的技巧。 首先,我们通过《严监生》这个故事片段,深入探讨了人物描写的基本方法。《严监生》中的...

    新人教统编版六年级下册语文 交流平台与初试身手课件 教学课件.pptx

    新人教统编版六年级下册语文教材中的“交流平台与初试身手”便是这一理念的贯彻。本课程旨在通过具体的情境教学,引导学生理解并掌握“借景抒情”的写作技巧,使学生能够在描写环境中自然而然地表达个人情感。 借景...

    研究生初试录取管理系统

    ### 知识点一:研究生初试录取管理系统的架构与实现 #### 1.1 系统概述 研究生初试录取管理系统是一款基于C++语言开发的应用程序,旨在帮助教育机构高效地管理和处理研究生入学考试的相关数据。该系统通过定义结构...

    西安电子科技大学计算机初试复试汇总

    对于准备参加西安电子科技大学计算机初试和复试的学生来说,掌握以下几个关键知识点至关重要: 1. 计算机基础:包括计算机系统结构、操作系统、数据结构、算法设计与分析等基础知识。理解CPU工作原理、内存管理、...

    09多校考研初试成绩排名

    在中国的研究生入学考试(考研)过程中,初试成绩是决定考生能否进入复试的关键因素。"09多校考研初试成绩排名"这个压缩包文件很可能包含的是2009年多所高校考研初试的成绩数据,包括哈工大、浙江大学、大连理工大学...

    浙大电气初试复试经验

    从给定的文件中,我们可以了解到浙江大学电气考研的初试和复试的一些具体经验和建议。以下是从标题、描述和部分内容中提取的关键知识点。 首先,关于初试经验,文档的作者是来自一所普通985高校电气学院的学生,...

    09高校初试排名 09年高校初试排名

    09年高校初试排名09年高校初试排名09年高校初试排名

    武汉理工初试复试汇总

    【武汉理工初试复试汇总】是一份针对武汉理工大学研究生入学考试的数据结构复习资源包,包含了丰富的学习材料和考试经验分享,旨在帮助考生更好地准备852数据结构这门科目,从而顺利通过初试和复试。 在数据结构的...

    初试JqueryEasyUI(附Demo)

    在初试 Jquery EasyUI 的 Demo 中,你可以通过阅读 `初试JqueryEasyUI.docx` 和 `初试JqueryEasyUI.mht` 文件了解详细步骤和示例代码。`EasyUIDemo` 文件可能是包含实际演示的 HTML 和 JavaScript 代码,可以运行...

    研究生初试C++源代码

    研究生初试cpp文件,可以完成文件操作功能,统计研究生录取结果

    应聘人员初试测评表.doc

    在招聘过程中,初试测评表是评估应聘者是否符合岗位要求的重要工具,它能系统地、客观地评估应聘者的各种素质和能力。本测评表主要分为个人基本素质评价、相关的工作经验及专业知识以及录用适合性评价三个部分,下面...

Global site tag (gtag.js) - Google Analytics