8870188 发表于 2015-8-31 14:00:17

memcache与memcached扩展的区别

  一、服务端
  之前理解错误了。服务端只有一个memcache,一般把服务端称作memcached(带d),是因为守护进程的名称就是叫做memcached(一个这样的执行程序文件)。
  
  编写的语言:c语言
  官网为:http://memcached.org/
  
   二、客户端
  
  很多人都面对两个php的扩展大有疑惑,而且也记不住,只是知道memcached扩展更加高级嘛。
  其实,我觉得,只要了解c语言的两个库的区别,就能知道了本质区别了。
  既然要操作服务端,那么就要有客户端来操作。memcache服务官方把操作协议开发出来了,只要你按照它的协议编写的客户端都能与它服务端通信操作数据。
  memcached服务端,支持是tcp协议来操作。所以客户端只要按照tcp协议,都能连接服务端操作数据。
  
  目前有两个著名的用c语言的库实现了操作服务端:libmemcache、libmemcached(带d)。先有libmemcache库,后面才发展了libmemcached库
  libmemcached库 可不是 libmemcache ,它们是两个不同的客户端库,前者现在的开发比较活跃,后者已经有很长时间没有更新了。
  libMemcached库的介绍如下:
  http://www.libmemcached.org/libMemcached.html
  原文一言就概括了:libMemcached is an open source C/C++ client library and tools for the memcached server (http://danga.com/memcached). It has been designed to be light on memory usage, thread safe, and provide full access to server side methods.
  我是一个开源的客户端库或工具,用于操作memcached服务器。什么设计成小内存消耗、线程安全】完全访问服务端的各种函数等等优势啦。
  
  
  ps:学过c语言的会非常了解,c语言核心部只是包含基本的语法,常见的i/0操作是标准封装的。其他很多功能都通过库的形式提供,你可以调用开源的库来完成自己的功能。
  这样可以自己根据自己需要来扩充。如果全部包含在c语言核心部分里面,那么会让c语言核心变得臃肿,有些人用不上那些库,有些人用得上,众口难调。臃肿了损失的是性能和灵活性(有些用户想自己用自己的库,你干嘛封装到里面去增加体积)
  
  三、各种语言封装库来操作memcache服务端
  
  很多语言操作memcache服务端,都通过封装上面这两个库来与memcache服务通信(有现成开源的库,直接用,就像openssl库一样,里面有很多成熟算法了,这方面没人自己去重复造轮子,使用现成开源的openssl库)。
  比如java操作memcache服务端,也是这样。那么php操作memcache服务,有两个扩展来操作,就是memcache和memcached。这两个扩展的本质区别就是封装的库(c语言库)不同。
  一个是libmemcache库,一个是libmemached库。
  ps:扩展是php里面的叫法,英文是extension,php引擎支持扩展的形式动态加模块进去用。
  
  
  进入主题,php的memcache扩展和memcached扩展的区别
  
  1、基于的库不同(我觉得这是本质区别,库的不同决定了后续差异)。memcache扩展是原生的(基于pecl扩展库)。memcached扩展是基于libmemcached库开发的,所以支持cas操作,cas操作就是多个线程并发修改同一个key的值的时候能够进行处理。
  memcache.so和 memcached.so是两个扩展文件名称(php中扩展在linux下是.so后缀,window下是dll文件)。也就是后者就要libmemcached库来实现。
  
  2、mc支持面向对象和面向过程两套接口操作服务端。而mcd扩展只支持面向对象方式操作。这也是库(libmemcached与libmemcache)的不同影响的。
  
  3、 memcached支持Binary Protocol,而memcache不支持。还是库的不同导致。这意味着memcached会有更高的性能。
  通过$m->setOption(Memcached::OPT_BINARY_PROTOCOL,true) 设置二进制协议。
  ps:理论上二进制解码速度快于文本,但实际优势微乎其微。且目前大部分用户还是使用文本协议,比较简单稳定。实践中使用二进制的还是比较少。
  
  4、mcd扩展提供session处理模块:provides a session handler
  纠正:这个其实不是区别来着。从php.net官网上看到,memache扩展也支持的。
  原文是这样写的:
  在静态编译到php中时使用选项 --disable-memcache-session 可以关闭memcache的session 支持(默认时开启的)
  
  
  
  四、版本
  
  使用一些服务,比如腾讯云服务,会特意php操作他们的nosql要用哪个客户端版本。有点晕。
  memcached扩展,其实本质是封装了libmemached库。但memcached扩展的最新版本目前是2.x.x版本。
  
  我看了一下libmemcached库的官网,2014年2月的时候,最新版是libmemcached-1.0.18.tar.gz。所以还是1.x.x版本啊。
  
  我之前有个疑惑:memcache扩展和memcached扩展,是哪里出的。官网是哪里?
  
  发现了,这两个扩展其实是php官方在维护,从http://pecl.php.net/下载。
  只不过这两个扩展编译的时候的前提条件是要先有libmemcached或libmemcache库
  
  我截图了几张,备忘一下
  
  14年4月,memcached扩展的最新版是2.2.0版本
http://www.cnblogs.com/wangtao_20/p/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4gAAAHYCAIAAACAw1FHAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4nO3de6wt113Y8TWnBygo5JD+QU6gIcG92C2GcOOzW7VBIg6qKrXCuBWtAFUCx4rsRJXANkj9Byd+IPUfWsdFVeukxYkqiKVCYxOpqVr55lL+AJFzsU0rKOlWEiAlJxT5btvIBhK8+8fcO15nPX7rMWtm1sx8P7KsfWbWrLVm9jx+dz1mN0rdpQAAADCAD/yHH3jgzr83dS1m43DqCgAAAJyz3z/mXN40d49cE4yMwBQAANSFAHS1DqauAAAAAKAULaYAAACDeuDn/tvUVZiNhslPAAAAqEGjTqauAgAAAKBUs9vtttvtyQnxKQAAAKbE5CcAAABUgcAUAAAAVWh2u51S6ujoaOqaAAAAYNVoMQUAAEAVCEwBAABQhQOl1Ha7nboaAAAAWDtaTAEAAFAFAlMAAABUgVn5AAAAqAItpgAAAKgCgSkAAACqwKx8AAAAVIEWUwAAAFSBwBQAAABVYFY+AAAAqkCLKQAAAKpAYAoAAIAqLHZWftPcPXUVHOqsFQAAQA0OhXVCFLXfP9az4Ka5u38mI9MPSPHKz/GAAAAAFCQFpnqctPKwqQ1JBz0gaz68AAAAqg1ML1y4kLFl13xoh2vOVRmZC4Gg/Wd8cU3T7Pd7eYnNyNz407fLvqNk59PtkXEMhTydazE/TaP008/4M2nb7DQAAFRAajEV6HGhEDLmNSsaIVrx9Nn1iUkQ/CxH2M6F8tHO2ymsVNM4FhK2AgDqkDMr34iNhOY9Y1Vq5kbja/fZF6hFFmc3jgabS0MZOsJW+ygJiWMytPOEgzPwKpJ4IH2aM9tt5b0w8t/vr/3ZfiAkBQDU5FAptd1uT05Opq7JazJi2YFqMpcKYK7amLKLLLsw0Yg15fCxjU0JMQEA85fZlT+o1EbBaRsR6VtHAjuCNIJRO4GvQVRP2bWb2tu2S/TERLEAgFrVGJj6dD31I0eibbn0oaMWzhi0jU31VXpzLJEoAGAODlT6rHxjKKcQtGXEc3bmZdMrpRqrCcpe4trqbuFPe2FGxYKGyLMiXSDVBVjG2qTlGTl3q+T0vmyNlPbCYLbBtsx2w3ZsqF1cN3i05RxFajSdAgBQk8wWU+GdUPFvobfjqjZ96gunirygKliE8uyab4bWQBUTilsCX49z6ue8nPU/I3NO2tw5GFSPDu1tDcGGTzuBsCMMTgUAVKbZ7XZKqaOjozLZ0eU9rkUdcGfQ5gvmfEFV5MLUnItka2/SJ+COeftp5IhVYlMAQB2a3W7nm5W/gNa4Ij+dWqQmg1pIbCrEebbKA1Nnhe1NhGDUt4mv9GAM6suNRlMAQDVif5I00qIa8JRSVcZ8Q49bqNHsIqeeFQ6+nXSEOgAAMLrCs/JXFCpNh4O8CsFZUMSdAIDFyZmVD4zBmDNkrLKXO6fbyzmn1kTOtuOrsC/z4FsFeho6fwAACpnTe0yxfPYU9e6zc5W+PNjE6My5VHpDfIV9L29KneBl8x0ZglQAQK0ITFETId6KfIOSEc7Km9sL9QgyWBNhcyGH+B3pE5XGF0ScCgCoxoFSarvdTl0NYJXkEDMymI7JSkjGWFUAQDUOpq4AAAAAoBSBKSoyXNNdas40IgIAMIXCv/wEAAAA5KHFFAAAAFUgMAUAAEAVmJUPAACAKtBiCgAAgCoQmAIAAKAKzMoHAABAFWgxBQAAQBUITAEAAFAFZuUDAACgCrSYAgAAoAoEpgAAAKgCs/IBAEjWNHe3H/b7x+aYP1AnWkwBAABQBQJTAAAAVIFZ+QAAAKgCLaYAgExNc3f73wsvvPLEE59uP3/iE7/Vrn3iiU9///f/m6a5+4knPm1v+9xzX/iX//K/t5t8//f/myee+PQLL7xSMPMPf/hX2wRNc/f99z916dL/7tY+8cSnu6Lb0j/84V/9zGe+lJSJrqvM+97383aa4J4aad73vp/vdhNYm2a3222325OTk6lrAgCYmW6Czm23vU2PpT72sff8wi/8hr7kl3/5n91229u6P5944tM//MP/3sjtttve9h//451HR187ROZKm0XU5Wx4+ul7v/d7/3pqJkb1YvIx9tRXllEisAYHSqkLFy5MXQ0AwIw9/PDt+/1jv/u7D7V//vAP/3tjyYc//Ktd4uee+0Ibh33sY+/Z7x/b7x/75V/+Z0qpT3zitz75yf9VKvP3vvd7fu/3/kWb/7PP3q9Hru997/f82q/983bVbvfBj33sPe3yD37w6fhMjOrt9489/fS97ZL/9J+uxO9pl+a229727LP3d7UKH3RgiejKBwD09V3f9VeVUjfe+EbfEr1N8Rd/8Vrc9kM/9DfbD13A9yu/8plSmd9779/9lm/5K136NiJs/dt/+0//9t++of18dPS1XTW6fGIyMSqjlOpaSf/dv/sf8XvapXn44du7rLrGVGBteI8pACCT/a7NpCVOeVkJS2wvvPDK7/zOF//n//y/L774pz/5k79olx6TiTONsTBmT31l8R5TrNOhUooxpgCAlXjuuS9cvPjw1LUA4EZXPgBgVD/1U/+g/bDbfbAdUqn/Vyrz3//9550J7r//qfbD00/f240fTc0ktTLCnr73vd/TfvijP3qxT1nAMhCYAgBG9a533dR++Jmf+W/dS5peeOGVX//1z77vfT9fKvMPf/hXu7Dyuee+0OXcDSS9cOEb2/Gj9ouigpmkVkbY03/yT671WP7sz36qi02fe+4LSQUBi8EYUwBApuxBn8ILkvqPKJXf9BT5bqb410UJY0zl4ro099//1E//9H8JVglYg8OpKwAAWJ0f+qG/+Tf+xpt+4zc+94lP/FbbhHnbbW975ztv/O7v/mtDZP5TP/UP/tbf+tZu7Td+49d/8INPt6ve+97vuffev3vTTe9PyqRPZew9ffjh22+++Zu6l7P+zM/849tue5tdJWANaDEFAABAFQ6UUtvtdupqAAAAYO2Y/AQAAIAqEJgCAACgCtIY06ZpRq8PAAAAVkqalb/f70erBwAAAFaOrnwAAABUgVn5AAAAqAItpgAAAKgCgSkAAACqwC8/AQAAoAq0mAIAAKAKBKYAAACoArPyAQAAUAVaTAEAAFAFAlMAAABUgVn5AAAAqAItpgAAAKgCgSkAAACqwKx8AAAAVIEWUwAAAFThUF7dNM049QAAAMDKBWblN01zeno6bpUAAACwRnTlAwAAoAoEpgAAAKgCs/IBAABQBVpMAQAAUIXArHwAwIQ2m41Sao6TUNuaq8oqP9/jCazEoVLqwoULU1cDAJagi8Y6s46BsnenkvivkmoAiEeLKQAU1kVCm81ms9nMNzBqa76k8G4ZewEsGIEpAAzl9PTUiE2NNkgjTtLXOkMoI0aMz81OECxL0FXDmUm3UKitXRM9t+6zsVB5Rgg4j4NRDSNb57ZyrRRxLTC8Zrfbbbfbk5MT92pesA8A0XxxT3yUaTRSOhfGFB3/Z7BBVAjmIouTS3QG0HI8GnlUg19HTK2EnQJQHIHpUE6sWy0AAAVd4QGNxaErf0DcMoC1iWw41MlNgHI/cnxudtOgc8OYnYpZ0qcBNSPDPschb20NaP7AIjErHwAKCw5btJNFZlswt3oCrJ56HgcAVaHFFAAKKx7zdW14s57jD8zXV/3hH37NF7+olPr6K1e+8rrXKaVeufHGP3vTm1TTfPmbvmnq2i0KgSkATM+Yv+/sNbbn+CflllRWWeOXON9aYSoHL774df/n/yilvvYznzl86aWv/uIXv+YP/1Ap9fVXriilXrrllpdvvPHlm2764+/7PiLRQR0qpYTJTwCAUrpIKGatM0LSY6n43Ix3HkWWpc5HtD3jtsgS++ecVOhwtUKdXnflilKqDTr/0ksvfd1nPqOuR6JGype/7dteOjl5+aabfv+++/70ppsmqOtaMSt/KCebDZOfAFSC5sDl4Snj9Jd/93cP/+RPuqDz67VIVN7w5W/7tpdvuunlG2985cYb/4SRytOhKx8AFo6oFKM5ePHFtz700B/ce++Xv/mbBypCH+6prrd3dpFovD9705vaMPSlk5OXb7zx1de/fpDqIhGz8gFggey++6lqgvU4+pVfeesDDxy+9NLu1luf7xGYysM9s33lda/rwtCXTk6GiET1ZuzIJm072crbwmkxBYAFIhLFmNqG0jdcvtz++brf/M3nv+/75E3ih3v28dItt7SR6Ms33TTOpKUurLxyetq+a7ZUlBnz5toFRLQEpgAAIF/XUNotef2VK6rHcM8+uunzL9944ySTlozQ0Bcp6lFm91lvbbU3X0vD6m63Oz093XtMXbsZ49gBAIZTw1PmG5T6z0rtJ/3vWaUeV+rHlbp16qMRWWF7K+efwe+3hhNgCOEWU/qDMiW+B3uz2ZydnQ1XHQDAohwfT/vU+Or/+l+PfvzHD154YeRy/+LNb/7yzTd/5eab//wd7/jyd3/3sVJ/X6m/P3IlnI6PlVJf0r6UNx4ff8n6js60te2HNsT80tlZu0SPTe3N9eIWGTbQlQ8AAFLsdkf33vuXP/nJcUp79fWv//N3vONaJHrzzeobvmGccpO0MWgXaxrL7c+tdpP2/90HPf0INa8Ns/IBAECsERpKX33967sw9Cvf+Z2vvvnNw5U1HCNUbT8421BbQuOoL0J1LpcaWeeAFlMAABBhyIbSP/87f6cNQ798881/8R3fMUQRw7HDzS5k7GJTZ7zYRatyhr5t5x6DOhGYAgCAgOINpV/+9m9vw9A/f8c7ZheJGoIBojNBu3Cp8WW2A6XUdruduhpAScfXTV2RsBlV1Wm+NfcpskdDHxY7/wV8EYMe+UUesZF95eab/+QnfuLL3/7t2Tn8xZvf/MoP/uCLDz30/C/90pfOzp6/dOnFRx995a675h6V2oQGVDulsHadxm4x5cdIYhh3zG7a3bFrCl630LdVqSoNNPuveM6lMozMp09x2dsO93UEixu56JWYy5mwAByxbK+++c2v3HXXK3fddfAHf/A1n/zk1z7xxFf99m/Lm5ybPl/rpKXifDOchE2MOU8rN2pgavxe82az2SS+U2k99Ftn/J00b6tpVVvJaiumRq9bzYdiGbKPMF9NKo5Yf/ER6vO/9Euvfsu3jFy9ydnxpT3d3lg+Yu1mYLxZ+UZUGlyrL+k+dw2u+nJ1PtiNTKn8zbfOTOyoWtidss7OzjKiTHmrtnlVDmSNttiuRVZvPHNmorfdGmvt5Ua5dinBbO39MjKJyVNuivaVnn1kus8xVXUmC9bN2NC3m+r8V+D8HHkmCEU4j0Bwf4PfV+ThEhYGE8fUzd7Exz7bjSMsVzUmQ+e+cOSN3QnWwXlzcC6xr+s5NhDkCUaoX/Vrv/Zn6wtMDfbrn5xDS7vP+guk1tmGOuXkp9SormtebZtalRZ0Gi2vkSmNTexMcvesds7HoXFLFVYJmQh/xtyvhS7jyNu9/GDIfmb4NuxzZOKrKvekJ+1vzM4K5P311dBXN+X590nMAYzZ3JdVUuKMNKrfoZa/7rwNOfJOSTeH+EtyhXwR6lf/+q//2Q/+4NS1m4b9cig91hSCzm6Vbzr/4gPWg9FK0kPDLl7MyMH3Z15KubhOxuYFGTdBQ8xWvuVnVmPb8fUmMflWK2cSs1NyVJqd7UB55gUHqcUFvy9nmpgoMFiu/r1HngPBCgRTZpyfSZvrafonFuqWcaiFrbKjnPhTfYVH3inp5uAryD44pao3R22E+vylS//v059+8aGHDna7qWs0mS64tBfayzsxb4lafO//oVJqu92enJyMUJjeOa60ds2pJAXHbeXbOo/Qj++7RTrjueBWwiYGZ5NYaiZCznLFliG7tax/i+YyDHEcSuU5wnc04Wmw8iNfeQXmpWtDnboiYwuGlQJnU6gQmy613XTsrny593xMzjGj9ciL3oo3cZXNpOuJK1WHOhVp3F3zU7D4uVHw2A593k57Gqz5yMu4PDGcYDOqvNXyjBeYjjlbCNm6ztzhHgPOgWLASqyn62C1+IqBPg7UWLPyDTGT9GtjvCJg6upkMoZSGZ/bO6mRJikTn2AaO8/+t/Uh8kwtMSMT58Df1AyTNtT/NTL0v0xkPQ9gcPM+x9aXvsiXbuuTT8Y3uPIjH3/EaC4FBjVei2k3RlNf4ltrjEYdpz7rod/Nu3uxc56Qc8KBHbzG3NBjZgKl5hljiDzl/PNKNLbyPcWTdkHIM9vQx7N/EcFvpM+x9aUvdaj75BM5xDy+9P6bV37k44/YEJcSsEIxQ2Ob3W6nlDo6OnKvbpr5Ng0OJLLF9GSzuZJy6DabDf0+GBTDJ4BxjHOtLXj6CxYseN6OOit/Aebej49V0Z+ORKUAMBDjLfqz/gdD//rbvylgJzCW6CVO+YJ9AIMaodsdgIF/BK7W3EPSgejHJOYQEZimoa0U88IDEhgZF91qEZUWcagmmpUPAACAZTM67uV+fBUz+alo9VZkrxTHDgAwEJ4y9Wi/C+P/rcaVTF/lSznE5kpc3mXYRCd2Zq6v3bs+y6duuCufzutMiT9qxax8AEACBrPWo/0urv9/r7UC7vVRldYq5UqpD8QstbkxuFNKfL6UmIoZmb9RPzOvf27TnJ1f6HSglNput77VAAAAiKdHae3v2jtX2X8qK8jrv7kvZf/EbcVi5jN1Kdv/9M92zz6TnwAAAGrhfMVSDdlm59BGsZFv1CIwBQAAqMUQs/vt3vaMTPpULH5bZuUDAAAs1rQvWI15x37tL9gf6NeVxv/RppPNJj7xXinF7y8DALAgqUGh0eudmkNMp3kXFCb1sPsqZmdib2hXYNSufF/8t7kepRUMDWv+gdAribVyzspvf7anz7zLjN8g8W1y7Imbk/Iv/psoQm0nnK96fPz+s7OH+m9yfPx+/c/4PDMqUEqRogf6MdWkbFPLDe64kKBbFXP0fGmECkfsbH65vmTxZwI/lYSFEaYrxZAnPCVt3m5rZ2jEppEF+SrmyzCvpfZQKbXdbk9OTlK3lG0SX5akGyjQrDN+FXQ365Hv2r6ykqLV1MyLiy+of/RfhPEIb0NSe+FU4WYfqUd4nBO+/b3WggUV+Wrm+P0aFrALQKou/lNieCfPqXdOkC+1eXxieVvf3sWkiTRSV/7G1altLOwCR70dtPusJ9ZXKasttme2zurZmQiFDh0Bt09TPSI0Hq7OYNHYSm83MnKIf1rb7U9G/s7ijLLk0o0ifLtsp4/ZCyFg6poqu6dsGxTqTZjOUNLOR99Kz83IQQ86fQFom5WvSnKDa/xWvsr7dtnYC2UdPf1k6B8I+vKxTzZjee9y3V+Qs4Ew8jxxfmVyJs4jnL1H8qrgN+tbEnkqAliw7IGtgwSmbdxmNJoaUaA6H8DZ6XX6qi5ll6GxVc9suz+VFnQamRg7YlSjT2txR4+r7KYdOXqzIz/nKn1JkR5/O4iUu01Tg8hg9JwUUispug2EIDGrnMmMJTGdv/qfZ2cPOWPTYPXid8quQDATfaFRvfOVjwpP5S/Rd874LgHhclADNJpeLyXhPAl27ht/Cke4ZyXtVcFvNvJEit9rAIsR33JsOFDDz8p3NpcmGblzPzh09VQTn21BeSPJhDjSaIINchZkLIkfwGc0tXafhd3JjkqPj4/blOKBcj81I5+78lb2w96XW/uh+y+Yudy6GbmVXPn4vfBneNZ+xRkNmcIZO8I442439YbkmBjLONrZpedt6BQZRAa/2bxaEZUCEAzVlW80mjpjtf4Bq1OpbFPzGWJ219DyejlLPe+TSu8CkRFCkPgwq878xzHJXvjOmVL99UV08VyfCKxIJnniv9nIlBPuC4DZGXyMqS+8s7u/CxZXJNv4+NIYpdC/K799yhrP2iH6HDMyLFiN1Hx8fcGpAa4zEy03bxdnKct4POftRc+RpjH/LKkhSO3avFXvVtLxQ7roqfQJV8pU+wJgdoaala+0cG1GLYjZikfYwtyOCY05XVp5ohB7iGHGMNmy03EQY4VHO/WtScNlUokl7QuAgRxMXYEa2bP+5XCz7JgEX4AVMwzUSCOnT0osVCxPRulJGUbWQR7vmNpTGbNVMLHe73l8/P7uvzZx/BSTSHktxEm7HDOuN67Q8DljDDxNOsciKvDaBCBhElKRVvZBR0oIX1/SNxuZbBljVwCMY9iufHn+UDDgi8lfz6Sbql9kupWRczCx/mfP0vvwTSSKSRzM3Jlbn27Z+NJjJrvkTbK25myde5VSRqAWM2Uk8nU/wUAz7y08Rd7d49sLe3nSNyJ/ic5zRjjn5cthoB6A+FloeZnEnz+R+dtlxXyz8ed8kQMCYCWa3W6nlDo6OnKvbpo1dMTXwPnLT1itmNF4RZpIKzTOiJFgQaNVoxShwpXvS+XVAzCmkV6wD8xCbX2OwfrkVXi03cxtLBzk9aKGpCJqOzE6ef8yGaImqSr/1xGAqRCYAq+Z18NyqS2mavjYNP6tt119BqpJf5FjZyvclxomdAKoTbPb7YRZ+XTlj4aufAAAsHLMygcAAEAVCEwBAABQhQOl1IULF6auBjLN4hcaF6+S2SRVWcAx6S6igldTUp7HmkKle7+UPt9XTD2DaYY4YSLmDhY+wgD6o8W0Rs4bpb5whNuoswJDF4ra6G/4n0usWej99sO+FiDy9yDOrovJc7QX+xtpIiuZtC/ZdYtPVqRKAIpjVv4sjX8nXcmLBlf4s5k+zhepzmJGvy31ax3zp3eL/ppaga9mjt+vYQG7AKzZoVJKmJWPqRgPrfaz3mLqfJ5FLk99cYyQrZ2PUdXIVb4MjU3sreyYI7iJbx9dmb/f/hWc4I/u+H7k01jo+30dYZUvQ2MTeys7ypQ38QWgxu9wxldVqK0QRuTtl7IOUfu1lvpXhy8f34ldsCPeOIbGZ2Nht6HzoDlXxWTiPMLZeySvCn6zviWRpyKACtFiuhzxUakR9vXPNr6IjFUxyYQ0wd2U4xX7OR18/vkivEFXxSQT0gi7o//Z/RBlah3ia25XIGm/hJ+wjwxPI38OKvvsNao0ROts3ukUmYlwhHtW0l4V/GYjT6T4vQYwOcaY1qtr9isVPtp/Bge6RWYrtFDmrdLF/MpiRhNpm0ObiZDeeIAl/Uao8Wfkr5/Hr4qpmP1oj9+k/dD9Fyw3/ifRha2ElM5KBnOwMjxrz5aMhszUU654T33Xamh8Dm7o/Jxaet6GTpFBZPCbzasVUSlQs0PFrPz5S+3ZT8p2tNGleYHCEDXJM04zTMYEl7lMWko1yX75J5VXdCp28VyfE7JIJnniv9nIlBPuC4BUdOVXLSYuHO5J2ZY7Tmwq93j69KxVwaGH4wRJQu+nYKkP47z96vl1J43hnlDX5q16t5KOH9JFlpV0OUy1LwBSEZjOnnPEm7A8r4gFz8ovEp46B3GiKit85UKR03JJ5/aS9gVYqgOl1Ha7nboa8Ip8jvpGi9oj4fQ/48PN7HwyVsU3lxp1iNlKyC176KGWiTnI0jmlw5axKrUTM34rvd/z+PxLTNsPGXshyG4Gjt+vmMHEcYWGTzn5MulTujo/AUiYhFSk/X7QTgDh68s4Y4PJljqaBVgkWkyXw9euaSyXX9gUn7+QT/DtTvYqI7eM2LRIS1iJ1uVz4cKZ/71IwjyhmIlQ8TN+hDrEbCsnyHsLT5F39/j2y17e5zx3ru0+Oxf6YlP7xB6oIyJ+FlpeJn3OKF8mvthUKDf+cihyQACMo9ntdsJ7TJumOT09HblO67TZbJbRyZjXero2xdsdi4sZjVekibRCY074y35xVYXme+1XXj1gVZiVD7gN3f0n5F9Pz2OwJnlVHW0HcxsLJ5jwF0pcyylhyPuXyRA1SVX5v46A1aIrH3Ab9LlVf4tpjKW2mKrhY9PIzMuOVBlI5MCbCvelhvcnADA0u91OKXV0dOReTVf+WBbTlQ8AAJCHWfkAAACow263Oz093XtMXTsAAACsRXiMKV3546ArHwAArNyBYlY+AAAAKnAwdQUAAAAApQhMAQAAUAlm5QMAAKAKVbeYbjabzWYzdS0AAAAwhul/+akNPZn7rzN+j6Sbre/8tZhuoW8rAACAWThUFc/KX3O0qoeV8T+NmLcVAABADaZvMRXYjal6z35webd50lbBVePL+9nuoX/sGwAAoKyqx5gaukCzjRS72NG3vFt7ep1vKyN4lTMEAADAEA6VUtvt9uTkZOqaBBitp3azqG/DyPbO+AzHpzd8GgNJI7cCAACoX9Vd+fGyGzW7DYWu/EnoAageXzonPwW3AgAAqN9CAtOMBk67+17PZPIW07ywkmAUAADMV9Wz8odmdN8DAABgQrOZ/GRPXdIHg9rLg3zJsjMEAABAH7V05dvBn92Z3na+26NCfctlwmuk8jIEAABAH81utxNm5TdNQ1g2js1mwwhRAACwZrPpygcAAMCyEZgCAACgCquelT+5E22Q614pFf3yfAAAgBF8adxxhrVMflqtK9orqxhjCgAA6vHG0ZvMmt1up5Q6Ojpyr26aceuzLnulOL4AAKBO4wcqh0opYVa+4mVJg9J+booWUwAAUJfj45GDEyY/AQAAoAoEpgAAAKjCgWJWPgAAACpAiykAAACqsMzAVP+l+zG3HcEx7zqtlf3VLODLKrILvkwWecTGV89BO75u6oqgr+V9iYPeylBWeFZ+Bjuwq3Zqf1vVqqonnPryzLjjUabODVfKOPUfwWJ2ZDT1HLF6amIYomLtrcbI1rj/dGu75b5qVHvoRpC978aGIx9Dvbg1f32ozYAv2NejvZHjvz4FTR6kZt+n5n5bmXv9O4vZkdFwxIKGiErbPO2bjPMWdHZ2RuziU+qwjHx4+TZRpyl/+UlvWLWjWHu5c1UX8narus9CAiM337Yx9dRztis8EL1Vw/lPXmcCISs5GtafYcrVduLLxFeNYP2dpQSzddbZuUTIIdiMFLybZ+yIfnhjqpSxuZ1DRuKYutmbBGUfMWdiO2Vku5R8ejt3M1i9pCdgGpIAACAASURBVJo7D4UzfBQOr+8byRMZjzoPXdLRcGZobxuZYcxZISQzaqJ/BX3uXfZWxvKYsozcnGvtWjk/R97YhSLsqq72VpaUc+o9KvW4OXdkRg7VKLPy2+htc/598kqLHbtVRlwYs4lyDR4w6Pl3n51hqL2hr1BnDe0ExQWfsvHdQ87HnnGRCKuETIQ/Y6rnq0DS3vkIOTgr2afEyHyM+06wShmbx+xdRrmRX33k4RLqY/8ZuSPx5NM7mG2RmscQDq/vGxFyiAw9ZfKTNfUK6nNJxl8LvmSRFfNtFV95+cgnHc9gzWXBM9/+05dynbey/jkLUp+wqflXaJrJT/E9+86otP2gb36qkfPRw9/Uejq3Hb/rP/Vsi7mbnFn/Oj++/m/o+EeInUle9YxC87KN57yXGYU60ydlbudp5OPMNv7wBjfX0/RPLNSt5w0x6av3FWQfnLzqyadids2FbINVjYwP5KrGy/s2+1zCzvMwKcP4s0Lei2AOttSLKKOs+G/EuI1H3tKDFQim5FYW80yJvEdlP2HnG5WqerryfasmH/E5R93pG3MblTOJOblTn3/x1RuIUAHnvkxb4SLhxUB5DlG3eVWgNqWC0e7zrB9v9eBEVYu+laU+U5JE5jD5g7WgQWblR3IGncaQzRF6xhepa2ZQ4mla5AzObgyY8CryVUBua5mkwsWLK9gPOO0dsHiH5gLE/0vSOFxGw8wQdVstTtTWsm9lqc+U1Jz71GF2RmoxTZqVHz9yFDJnL1ikrvdnuPO7T/UmqcDkFUa2GTUnjFDVIdp1APR5RpS68BfwnJpmjKkxWFN/p70vGBU2SZIRIht1q78FN7Xl396qO6eDI9WETLKrZ+fZ/wKLqaRvXwr2FqXuSMbhTdrcObA4sixf+p51NqoXecQGiquyT0U5ZZ8zXDi8MUfeV1bwSk9SfAeHuCfEGPSKy5N0femNC0M3NMiWfStLfabE61+HvHKnNeCsfPklSt08fSOB8PYl3yZ9KhPMs0+hU4kfIq2ndI62VtbtzN7EmUnP6qXmGVOK73Zj76yxPP542voP1+t5KILfl3CUsusmFBEUf8T6lBKZp3OJT9J33edrLfgNxusGAMR3L5Tawf4Z5hVt/5maQ/ErzrnVQGd+cQu+laU+U5JE5tDnOVWbZrfbKaWOjo7cq5tmFqGYoOZmzpPN5oo2bmHWZxJQuUGbiyZsi8LKce5hUG88Pv7SuCfYNF35AAAgwySjGoDRHCilttvt1NUAgAHx/MZitJ22Lc5qLM+U7zEdR52d+ADGNPTzm/gAY+J8w4LRlQ8AAIAqhCc/jVufddlPXQEAAADByIFguCufrvDhXNE+MysfAADUZuTQhK58AAAAVIFZ+QAAAKgCLaYAAACoAoEpAAAAqnCglLpw4cLU1cA5x8fvn7oK59j16VPDvG2rOibBylRV23EU2eXUTMYplG9zwkwArM2wLaabzab9qfrgQsQrGybGFHd29pC8xLmV8/MCxOw+5oJvEwCqQlc+BsHDHgAApDpUSm2325OTkwkroTeg6q9NbZefnp52Cdq1xp9yPr5MnFsF1zpr6NywP72hsYvz2oXdqrOzh5xLuuXKihGd2aoeTUdGg2ibSZebXT157+TWWd9OCbUKbu48XDEFycdZifuYtCPx1WuXZ+9d/EELJo6pm71JDCG9b/d9fxrb8m36EsfUzd4EADKEX7A/tC5wVNd7+e3QUF/rSyznY2SirzKS+fJUVpAarHkfvgdqF3d2q+wlxua+z/afwWoEc7AfS8HqxVQjuCMxKSOPg/HEDe5vz5SR4yJiqufc04zNYw5aRrnBNF31Ig+Fkd5XRFJufJtjfpsAYBujK39znrFKaZGf0SCqL/T96czHJhfhq7aQZ7DEniKfrDGb600scrLUUuIjAKHcvK2EnbIDd+dCoTUovnrxeUZuFUzvy1nfwYy9cx60IomFuqWeP8H2TruIpOL4NoOJhbpl3w0AQHeohp+VH+wcLyUv5z71md0sru5BktpC6VuyKkPvvhHTpJY1RANVqTxT88k4FBlF8G1Omw8A2Kbvyi8oo/1S7qwfosTJdS2IKv1hiUEVbCYvomDPbGrdMvaltpOZbxMAMiwqMEW81NF4wEwl9RIAAKZ1oJTabrdTFW+M+MweuGnn42v7jC/CWbeMEidnz5bwJfNt5VtijH4r3sEn19bX/OOslb0wo2tV3iQvyi/1b4Oe30Vw8+ARzsi8VD4ZWfFtZpdV6tsEAKfpW0zbFzn53uVUKh/fe52MrYQ89RdOla15KmNuh3OJb7ZE/JSOvMo4n0Z29WJys/+Mr7mzxPhqxMs7mGW/Aj2rPjsYPK98X01MWb70MeePkE+fKtn4NiPLKvVtAoCt2e12wntMm6aZ4zBKXcHp84POxN9sNmdnZ0Wy6t9skz3taaljA5z7NW2jGrLxbQJAtZrdbqeUOjo6cq8mMC2dj5B/G5jSzABgMQjcASSZviu/ZvIbVQfS/z4+citO8f7xuaCNbUn4NgGgBstvMZ2Lgl35AAAAczTxrHwAAADgmt1ud3p6uveYunYAAABYi8AYU2JTAAAAjCMwxhQAAAAYx8HUFQAAAACUIjAFAABAJZiVDwAAgCrQYgoAAIAqEJgCAACgCszKBwAAQBVoMQUAAEAVCEwBAABQBWblAwAAoAq0mAIAAKAKBKYAAACoArPyAQAAUAVaTAEAAFAFAlMAAABUgVn5AAAAqAItpgAAAKgCgSkAAACqwKx8AAAAVIEWUwAAAFSBwBQAAABVYFY+AAAAqkCLKQAAAKpAYAoAAIAqMCsfAAAAVTicugIAAKBG+6tXlVLNG96QtlnT+HPcu9M7l6fqyi2SGyZCVz68Gs3UdRlD09ydvYlv27UdQ1SuzwmZcYGUVbYCXJtB+6eeUrtdclR6beO94z8hse9baJpr/3V/2h+6/4IFYQ5n/qFSarvdnpycTF0T1Gjvv8Kb5u79/rGk3DI2ic9BeGj1LLSP7gBWewvA2ggXdUe/mia8fAbFtSnYf/7z6l//a/VjP9a89a2ZWUQeVT2Z3t6Z1PZJJJrIdxOQn7D7/WP9H+K+zPU/6crHQuhXy0AXD7B47ROCq2nN9o8+qn7v99T992e2lV7LxdNlbyfT+/H1z4Sb9RkoKjWyJTDFILp/AHUnXLvEt9w4L50NNr4csuvT/vvPWYoz/7yigXkxTu+Ya9NY5bvK5NyUFRDb6eXiYrKFYP/5z6t3v1vdfnvzr/5V37zi26G72DRypKndm49CfG2i3UJjrfzvWN9nZ866Q6XUhQsXeu4MoHOejs4z3nm626e+kEN2feyCIqvh3BBYgOCJHXlR5F1HejTpexBG5uPLFoL9gw+qRx5RTz7Z3Hpr77ziGjvtfvz2/+3mRtzpa0nVR6CmVgA9BC/SbEx+QnmR56h+NhvNKhm5ZdTHXq4vkVt6gBUSroL4q6wVHM3WbW7fGYxt9TT8ozHD/tln97fcop58Ul2+3Csq1echBf9T5ydI6X9eq9b55YF9OJ8PctlXnNyGamzSfdZ7S4Srsk3T/tctpCsf5cU3UThTdmdzqQdMkSYT2l0AQekp81xuI9k/+GDzwAP7229Xjz/ea1Cp0lo6nWNGS+GdUHUodZHa4+iYlY/CkvrR5FaWIuFpkX49OgcBQfELhFbPEewvX1b33dc888z+Ax9oHnigZNZG37qvq92XTI447W1TR6mihOIXaZchXfmo137/mNDFD6AsLreV2F+9ur/vvuZd71Kf/ez+yScLR6XK6pRXnq52uSsfExlzbIzzhkNgigEFm0uN6Q4xWw1XHzuxb9ZFuRoB1bFHmPXZ3Md3+curfAl8Y1K5Wm37y5fVLbc0jzyyf8tb1OXLze23ly/DeCt+915SZ4tmkVn2NJeOK3j9Rk5Zdg5pZVY+8jkfGM5x0Paf+lmrL3FuJeQQJNRH3iOhXJ52WCp9FI2+JLhVxgWSdK+Qt+1fmTXYX72qHn64eeQRpdT+ne9UH/9430Gl3pK0MabdDzIFA8eMHnkjJbFpITEzPTIex8F8rv252+2UUkdHR9mZYqmapon5kRjE4GCiBjWfhwN1Gka8A6veY1LQ/qmn1B13NLudUmp/zz1teDoI52uefBFnt0RPIEyfcqYX8oel/hOewBRewulLI4ST8Pyr/16ANVjtRb3ma3N/9aq6887mySev/fmRjzQ/+qODlGTPXnIGml0aZwAqN4IGNyE2Dan/JtDsdjtm5cNJ/wnpZd+4h8MxRFVqOyGLdAXmZVvboRjIuYbSoyN1+XJz8eJ4xesvzNcX2rFmsEnV99nOrbXc77Sn+s983mMKrzpP2XnhGKIqtZ2QA034jRsXW9ehKK79fdHm8uVrf168qC5dGmpQqVQP6zgbS/R4NOZFUfpnO5ClQz+k/jOfWfkAACzK/tFH1dvf/lpUescdzTPPVBGVpiaLD1VTC0WtGGMKAMBCGA2latBBpcAAaDEFAGAJzIbSo6P9pz5FVIp5YYwpAADztn/2WXXnnc0zz7y25OJF9fGPN29963SVAnIcKKW22+3U1QAAADn2Dz7YvP3t56LSO+5Qly4RlWKOaDEFAGCW7IZSpdT+kUeae+6ZqkpAT4wxBQBgZvZXr+7vu89sKD062j/5JFEpZo1Z+QAAzMn+8mX17nc3n//8uYUXL6rHHx/1/fnAAGgxBQBgHq41lL7rXWZUevvt6tIlolIsAGNMAQCYgf1TT6l77jFCUqXU/p57mkcemaJGQHnMygcAoGr7q1f3/+gfNf/wH5oNpUdH+498hKgUS0JX/to1mqnrsnAcagxthHOsae4eKOcKVXLN7p96St1wQ/Pkk+byt7xFXb7M+/PXppLTcjh05UPt/b8sbD+E9vvHBq5OL0aFq6ptd5yXejdBDeIv56quDsGEd6HJr9n91avqzjvtkFQptX/nO9XHP9684Q3j1wqT813mTXO37+poVwkJ8gxxeR4qpS5cuNAzFyyYcZIVP60LsutWc22B8emXw4yujnVe1/tHH1UPPNDsdo5Vd9zRPP74+FXC3A1x4diXZ8+CaDFFvu5fYO2f3YloL1HnnyXC5y596rnufFY5MxEqZixJ3UG5hkBVjOYT51ktLO/W2leBkIm9tueFE/znqK9o4W4zuf3nP6/e/e7uJ+/NtR/5CN33cPK1iRoPNX25Sn9Sx9TBrkC3Vl7VNHcTmKIX+amQ1LBhXzB2Pn1aSvIqFrmDRWoITCXy343BEDBmQ/2hNfSF4ytaqPnkpIbSoyN1+TLvhEIRw1199j96hbuBY9Vutzs9Pd1jrZRS4tq7jP+MtXZ6YUn72f6/b1vncl8yvbbBTPQleavyang9gXTMgWzBy1n4014un+3yeZ5xfQn1ybsLJa2SjXPNvvrMM6/eeuteKed/r168+Orzz49QDVQueDYK10jM1Sc/qeWyggXJq9qFtJgiYLTRXV37v9DUH8zBSD9aK8iqpipjvnz916knsK+7sE99BMXvQsLdZir7Bx9sHnjAu5ZBpSit2scWgSnSDDGtT89cuUa9pBaXN5agj3oeb4AgaZyojzNBaiZCfWK2KhKbqjqGhu+ffVbdeaf+k/dmgkceae65Z8wqYQ2qfWwdKGblozL7/WPO0dOyav/xByxM3hVap2n3ZX/16v7BB5u3v90Xle6Pjvaf+hRRKZLop/Qk46d7FsoL9pFGPuGMW7yRWG/nsNs8fM8GO8+YZEbpcsWMrTw7561MZA2B+hl9/cKJLcRzkZlkXziR16+Qfw0X6f7yZXXLLVL3/cWL6tlnm1tvHa9OWI3ghel7UgfJNwr5udx+oCsfAcJ7Xpz2rvcrxTDOUTuiDeYp5CBkYm8VH5s6L7Bq+0cAJ+Ps9V0O9oltP8BiMonPvyPcheTr11e0fK8Y2v7qVfXww/LviO5vv109/jjvz0eemFHUpR5bwSBBKMhetd8/1ux2u+12e3Jykl0nzFrTNHv/T8VgCBxzDGQWp9aE72bKLjr7wO4vX1YvvNDcfvu5Je9+t/GT9+ZWH/iA0JKKlZvFZd4HLabwqqG3a75oN0VVqrqcJ6yMUPQg1+ydd6qrV/ef/Wzzhjfsr15V993XfOQjQvL90ZH66Ef1QBaIV9Vlno3AFKr7GWjjH2GEVmVN9XPbWJU6L+cJB7r0KbrnNbv/6Eebz31OKbV/z3v2P/Ij6o47nK/Nfy39xYvq8cd5fz6C6rzMS2l2u51S6ujoaOqaAACwEPurV9UNN8iR6Ln073yn+vjHGVQKMCsfAIDSfvZnE6LSe+5pLl8mKgUULaYAAJS1/9znmhtuiEp5dKQefbT50R8dukrAXBwopbbb7dTVAABgKX76p2NS7d/yFnX5MlEpoGPyEwAAxewvX25+7ufCyS5eVJcu0X0PGBhjCgBAOQ8/HEyyv+OO5plniEoB24FS6sKFC1NXAwCA2dt/9KPNpUvhdHTfAx5MfgIAoIz9DTe07y4NJPve722efnqE+gCzQ1c+AAAF7B96KCYqVUo1ly7tL18euDrALDErHwCAvvZXr6pHHknYIGIoKrBCzMoHAKC3n/zJwC+OHh2p7/oudfGi+tZvvfYBgIXAFACAXvaf+5zxiig7DGUOPhCDyU8AAPSy/4EfUH/8x4ShQH8EpgAAAKgCs/IBAABQBWblAwAAoAq0mAIAAKAKBKYAAACoApOfAAAAUAVaTAEAAFAFAlMAAABUgVn5AAAAqAItpgAAAKgCgSkAAACqEJiV3zTNuPUBAADASh0GU5yeno5QDwAAAKwcXfkAAACoArPyAQAAUAVaTAEAAFAFAlMAAABU4UApdeHChamrAQDIt9lsNpuN/Tlyk9S1Qxi/RAAVCs/KBwAU1wVhS3rziTOyXNIOAhgagSkAzF5VwZ9embYdtKrqAahZs9vtttvtycmJe3XTBG8oJ3S+AACW5QrBNDCFMi2mXMAAEK/t8j49Pe0+2KucfzozET4HN/FtJfwZmX/MHgnZZu+RnkNGoe1nGlyAqTArHwDWq4vJjGhVJ8SFQfFxdqkSO6mF9i8RQH+Hiln5ADAiPU5qG031tj19ia89NaO4UtXOSGlHe5FZ+ZLJm/tmlcmvIHBuAmB8TH4CgAlkh5hGQ2DxTXzig7ZgcZFZxYwW0IvoQvlulZ6DMzd5EwDjIzAFgAkUCRYrZ7cHj1Bi+yH+qK7hiwBm5EAptd1up64GAKyC3TtvD+4MzvgZp2K+Gia9CV+YaCVklVei3EDrzI1gFKgNLaYAMA9dA2TBTeyAOCafpHDZaDeNzMqXTNgjo1/eiP6F3JybAJhEmfeY8rooAMBi8FwDpnKgmJUPAACACvAeUwAAAFSBwBQAAABVYFY+AAAA6rDb7U5PT/ceMTlEJQIAYCZ4rgFTCb8uKhyeNk1kCIvhNHwLHAT0w/mD13AyABNhVj4AAACqwOQnAAAAVIHAFAAAAFVgVj4AAACqQIvpNU3TNE0zdS2AazghAfQx0D2EWxOGFp6VP632AjBmRzoXoizj1tMd7aSDv/Jvynn7ntHRsOsfX/mVf/VYsz4XDoBDxax8pRQ3jvOMqKL9JzKHKI9+3OZ4JI36Ky4WIAIXDpCn9hbTSPq/UO22vW5tu0pOLOfpzFYt644j3EO7XRYOqb3QSKz8x3bx2tPGiE0jj4Z8QgZXObsdgoUG8dUDeYKPmOCfqQ+jyBtCcG1knkCe2seY2nGPL4LsfqrKuIScf3Y/beW73uQ81fV3cQsJlqTbze6wG78NZvxamPEdGYmDx3ZVIo+GkMx58JV4qmd/BZGl89UDOuFB1v9aiHwYySX6biPKupP48tz7n6dAktnPyg92kRjXm702mKfvMu5R66p1+9spmPnKu7TktpDIrfKkFlrcyr96oCM/YoT40nkRxVxTMQ+1mA1lXN0oYoFd+UnpuZCc7AY2+UBlH/81CP6TJvJoyA0hwa2cTR398dUDw9E7QAZ9WvVssm0/8DxFETMITPfasDzfv97ir4fUkGu19MNiD4vUOVsB4zNfvOCR6dMaIRx8+VQv8hXw1QNDG2HcS8aF3OJ5iiEcqPXNyhd69qGuh6FT12KBxh9YWfxUpzseyJB64TjvFXVefTxPUVztk59a+lXqHF6j93dE9mxGFucrdz3K7n7q97Uw8mAy39HIO2hyA+34X8HKv3qgM/4jJrtE54YdLmEMYQZd+UFdX3/3ZzCx/mf/PBfG2Hd1fvftI2OnFxL7Fq7H/vwboyKPhi9Z8ODrfwZzcxKuF756wEd+0ASvhb1rknufS0YoUbiQjbX2XSXmeQokaXa73Xa7PTk5ca+OGTLSNIrTcWpR39TScRDQB+cPXsNzDZjIPLryAQAAsHgEpgAAAKjCGmflAwAAoEK0mAIAAKAK4Vn5wfdB7HlnRB34FhQHAf1w/qDFcw2YyqFSSpiVr5Q6PT0N5LHZhNNgYJvN5uzsbOpaTOz4+JiDgGycP3gNJwMwEbryAQAAUAUCUwAAAFSBWfkAAACoAi2mAAAAqAKBKRyOj48zVgEY2fHx+yvJZI5Gu5vlFcTNFusUnpVfs83mQ8aS09O7iiQ20sspZ2RV846N27qx491a5wEJHqjIIymXUjCrVX2zGJkRuZ6dPdQ/pZ44mExOkMd5yXRX2d61sCVfy5EpnemNTc7OzriusULh95hWqw0c9ZBxs/nQZvMhZxCZlNhIL6dEnewbur7E91nFtVJEtmQIpRTMimYVDMqOC32RYnxKY9VAoafAeX9Qelx4/bKS7yTBPINhpbwJsSlWaMaB6XCMKPb09K7ZxaZ6sKIHNPoqY7lKbFPU01R434xvoTRu/e0HeTBDu4lcgZgHTJGsghVGhjZUMpr0fC187XJ9Ycbmdg4ZiWPqZm8iiw8Z41MakWh7rHzBrnLttbNp1t6ppHh3tPsYsSYgOFSznZWfFCbOKKbsz25Ra/8UYqP4z85t13OfLbin6zloM2U06anzUZH92QitUjf3ZZWUOCONcsVz9XDGrL76+4J4Q17TZimpZdFoirVZToup3VlfKvHcyXc039rI1j4hQVWKVI+odFWMKCfYeW2EUKmb62n6Jxbq1rPfPH7zwcaGRmWbWrqzl0ldv7npKYV7ZjClbwhBMHNgPRYSmBKV6rr7Y9KUmgyz6D4uNdhACCUzZjyUygqTG6K5sVSeqfnIU5d8owJ8+Yw8bNSoQGrpRi/TXvtcaoypc8MJ226BOs17Vn6LqNSmjzuMH22ZGmjWfwMte5c3jk93eDOKKJgVplU8/CrYz54enEnT7adtKI3XvwJnZ2eq9L+6I++u9fc+AUObfYupEGg6Z+LHJ16AtQ0ANZTd8YING7SRYF5WFZUOZOV3YyDevF+wP1BbafeWqIxSalD8Zc6+Hih9k9q69YUHgF3zIR4VBUsZp8LIoE+9V+mtm8HNjen2SWX50qfmI4d6RlaRKe06xDcSC/XPjkqz72YZvUzyJlzdwIxn5RuBY0doEI1MrLRXRMnJ6mTc+3wD+duOY/1P3605JsKr8GYqvLxaqHm3vP/g1ILHZ5wKI4P9WqiemxtLfPFcTFm+9EIRTvGvYYpPGb8vSYco5g3/zu5y8xLz3BhVv8lPdukZ86WAZWt2u51S6ujoyL26aU5PT+UsTjabK6E0GNpms+HmxR0cfXD+zFRGQ2nwu37j8fGX6jgZOC2xNnMdY2r/vug45tV0CiBDze/1hJPwlcU3mlZoFpUEyprrrHwCRAADqXP2DHR9hk9c37D22LTy6gEDmWuLKQBgtYr846HysK/y6gEDmfesfAAAACxGePJTMIu9UuFEAADMBM81YCrhrvzgrHy12ewDKQAAmBN60oFJFBhjyruiasDrohRzBdAP5w8ATO5AKbXdbqeuBgAAANaOyU8AAACoAoEpAAAAqnCglLpw4cLU1UBJ9m/EA1ikIj9SxS9dlTXaHTivIB4QqFxdL9i3f2hU+IWnpMRGej2l89dNnVkZKe00bYKZ/irV8mZ+GPdfY++6tc69Dh6NyMPlK0WuW1KheVkB8YzIVXi5fXxK5fn1psgc9GR2muPj9wffwB+TJoN8keqrIq9cZxwZvDsJ6ev/ySusXEWBqR3VbTYf2mw+JMSIkYmN9M6UclbB4pzRLSZk33n1Jb7PKq45IbLJIbJE55LIEjOyApLYAZwvpItPaawykhlxqp2nkGba1l/n9ahccWT8lRv8t6iTnDmxKWp2qJTabrcnJydT12RARlh5enqXHMUGEzg3UZWFp0KLoH2vbJfYm8jNijUTKizfo9sPwq2/TRx8NgilZBxMX61m973MRRvrGE16vt9n94VKSZvbOWQkjqmbvYksvlkxPqUdiSa1Xxop7aA2uHdtAvtgOttr7dySmlrLXqRCQEmsiWWoqMU0qQd8zO5yZwd95f31cotgF+Xo0Vh8E+OaDXEcOLZ1stvhnC183WcjtErd3JdVUuKMNMoVeFWrVP+7MxT2HRbfvw2suk3ZfZFaFo2mqFZFgakhabxm2cGdsx4q2vK11QWDUV8mc1fkFlz2Pj5EazRPmoKEZrmOHsoYsU7q5nqa/omFuvWM7eI37x9EDjQMtE9ZqVXSezns27KeMnLMeuSYeIaeY74OVZWz8sePSoMTmxYjfkrmMiZv+sZ4ZeQTOTshsizf8NOMrFS53USqIZobS+WZmo888cg3KsCXT3ZM6WuqnFxGoOzsrVKeUDLv+nVuyNBzzFeNLaaTtJWuZxpT3gTwmQapA7Vx6n+enZ31LKLn8FPFU2dSxYOngv3s6VGUNN1+tIZS36SoaZXYr1695zEv5RioaGBM1b1gXwg02wlJ2Ykj2dOYnBObsvPHaMreiM/OUyVC0iJ43mBoY0alOn0CmW/JOCYPkYU5+zFzMYEZOVBKbbfbqatxzUBtpUZkGdywwin2fdjjSvVVkTkMUrMhCeGafRCGCOyEUuyW17KN4uu8dwAACblJREFUKBiNESelxkzBzY3p9kll+dKn5iPHZEZWkSntOvg2dEaixpLIwy4nEw5LdlSafatJveUGY1NuFJiRirryjcCxI7/rPnJsaPcGKDmZnb5N6QxVfW/pr2HulG/EvTp/C/MNxjf+FT7Tf5ELL1fyHQR9q/6jNmMOdWQRQq14h9S07NdC9dzcWOKL52LK8qUXinCKf19SfMr4fXHOKvO9IatbHhznmnTk5dG31xc6ussjbwJKvGxjwkqj9GDmhKqoVrPb7YT3mDZNc3p6OnKdkGGz2XCX4VaLPjh/oMtoKJ3RKTSjqmJtapmVv5h+c8OCZ/cDSzWj93piUMKZEN9oWqFZVBKrVUtXPgEcgErUMxMcI+v/pqr6Y9PKqwfUEpgCADCtQj8rVXXYV3n1gLpm5QMAAGC9drvd6enp3mPq2gEAAGAtwl35zMqfBWblK8ZOoR/OHwCY3IGqY1Y+AAAAVq66nyQFAADAOhGYAgAAoArMygcAAEAVaDF12Gw+NOtfoprj79oDyFDkR6qq+qWrqirjNNoNNq8g7v+Yu9pfsG8HiMJvRCUlNtJn/PRUu/lifrNqeVOSjRu0sXfdWudeO4+GnKFQDV/K+GPuK9r5EFrY94jJGcGi8Bb6+JSqx88sxfyKfcYv3ccVLd0Z9FWptwv5juRM6cy8/p+eAmSHquJZ+Xbk17ZlOmPBpMRGejmlb1vUzL4160t8n5W/vUHO0LdJxqrUonkCYVB2hOeL+eJTGqvig8hp21OdV6JyXYNJtwtfJgI5c2JTzFrtLaYDMaLY09O7nLFpF4Aay7twdoy65hL+/W3fB9sl9ibx/4ivjVBh+SbefpDbJJLqIDRqRoanszv4C9CGSkaTnq+Fr12uL8zY3M4hI3FM3exNZPHtjvEpjUi0PVYxu28cSSF/ZybOBl07t6Sm1iKXZ0wmxJpYiaoD06Re8uJd6l2cmtqeWgO5RbCLivRoLL6JEYoDsgJGk546H9/Yn+3QKmlzX1ZJiTPSqIg4b2R5jak6O9K1swqG/latkvtMYkRmkloWjaaYrznNyk8a09l/AKjenqqqbx812C2C7Wc7GI3MZO5K3aOPr5vw4Nj/0uhMVaVFcrbVGfRYR28izdhcT9M/sVC3noMvk7rd8wqyG1MzMsmrTGqdfVdfe3fVyX048iXsjIkjMwdmp+oWU93IUemCxYcvywh0MsZvCXyjVJ1pMshZ2fsyRBMOkgzR3Fgqz9R85KlLvlEBvnyGmHs0qIxI2tkZpTyhpO/a9GUibMiFjwWbR2BKVFpQ3lzymQapw92v9Z6ygkXED40N1grjKB5+FexnTw+zpOn2QzeUTqt/tYtcfUYm8cPQufCxGAeq4ln5LSHQtF84mpQYy7akO/WS9gWzQ1Q6lbOzs+CYK2Bhan/B/kBtpcawUXnDuTfBCuNKI+93c7wtyh1nxkGInHwQmX9xQlkT1grKGgGZ2roZ3NwYtJpUli99aj5y0GZkFZnSrkPMSNlgPYW1wl73GAubcydR5y/bmEyCsSkXPpak6q58I3DsCO8xjUystFdE+ZIJr9/XV9UZtho3Pn2Vfo/zzZEy/pk+03+y23V2BujOcZzdB19MnxTL2mNDhVVJ+5JRK5Rlvxaq5+bGEl88F1OWL71QhFP8C5XiUwr7Enz7VfdBOAhJBzbmdwGc3eUxt1N7rTNnOZncxe98JyB3A8xUs9vtttvtycmJe3XTnJ6ejlwnZNhsNtyGuBejD86fVcloKJ3RGTKjqgKGeltM5zgetLZ2UwAZanuvJwYifNHxjaYVmkUlAZ96A1OCPACTqHMeDPrrM+ji+oa1x6aVVw8IOlTVz8oHAKC/Iv/kqDzsq7x6QFDts/IBAACwEs1ut1NKHR0duVc3zbj1AQAAwEodKqWEWflKKWblzwKz8hWDq9AP5w8ATI6ufAAAAFSBwBQAAABVOFDMygcAAEAFaDEFAABAFQhM4WD/MnvMKgAjK/IjVav9pavR7mZ5BXGzxTqFZ+XXzP7Z0uDvRbWbxPyslJ75Yn6GalXzjo3burHj3VrnAXEeKDlDuQ6+0ntm5Xx0recrxjiMyDX4mvrIn6GP/B2mjB+1j2Fc48IlGX+1pl7X9vWrb1L/r0wBQ6j3J0mD7BBzs/nQZvMhXxBpR7GRmcvZok72DV1f4vus/K0UcobBTYQS+2QVjJ6Bnuy4UIgU4xtf9UwGCj3F0s2r3ndJxl+tGde1cv2TldgUKzfjwDRVF2UGUxoh7+npXbOLTfXoRA9o9FXGcpXYpqinqfC+KddZuPV3T6P4DDNKGSgrnmGltKGS0aTna+Frl+sLMza3c8hIHFM3exNZUsho7KmPEYm2x8pZUJuVvdfORly73MjKF7lq4jPhOgUEh2q2s/JnFCaOzNcY4AxoYlr1gmEQ91ksj9Gkp85HRfZnI7RK3dyXVVLijDTKFc/Vwxmz+urvC+INSR0UxaVmTqMp1mY5Labxg0fXRr6j+dYGm+iMVsbKb53Fq9cnw/ZwGUumrRJsRpTja8/rlhshVOrmepr+iYW69ew3H7/bPa8CGfV09hFlX62+cer9h5sDy7aQwJSoVNfdSZOm1GSYxXDG4oMN7AwzZjwIA9qSssLkhmhuLJVnaj7yJCffqIAK5UXPBUeEK9fF69wwY1gqsGzznpXfIiq16VFO/GjL1ECz/hvoOA2lBYvIzorn2VSKB2oF+9lT6yakn7yhNF7/qhYcEa4vH7poYBlm/x5TISptZyzF55M0bX8Wzs7O7H6o9aiq+35Q1VYMy7CqqLRf6d4rceV3YyDevAPTgdpKjfn7s2uRLf4yZ18zob5JbTdc+Qlh1DxyzEPGlIXszQfKCmXpU+9VeutmcHNjun1SWb70qfnIoV7S+6GEusU3Egv1z45KjdtX/CWWemEGY1OubmDGs/KNwLET8x7TYKzZvSJKzrNOxr3PN5Df+Be8EGjGRHgV3kyFVz4JNe+WB8eS2tvaa0tNp5ArXOHBXw/7tVA9NzeW+OK5mLJ86YUinOJfw9SlDA5Ijd+XpEMU81sAdnd55D3TXmuIuUUYpQcz5wLH2jS73U4pdXR05F7dNKenp+NWCTk2mw03L+7g6IPzZ6byJuDP5bueUVWBIuY6K3+q8aDzajoFkKHm93rCSfjKIhtN6zSLSgJlzXVWPgEigIHMZaLPmvUZPnF9w9pj08qrBwxkri2mAIDVKvKPh8rDvsqrBwxk3rPyAQAAsBjhyU/j1gcAAAArFe7KZ1b+LDArXzEkC/1w/gDA5OjKBwAAQBUOlFLb7XbqagAAAGDtaDEFAABAFQhMAQAAUIX/D44D+TkJZySTAAAAAElFTkSuQmCC
  13年4月,memcache扩展的最新版是3.0版本
http://www.cnblogs.com/wangtao_20/p/data:image/png;base64,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zjX92+p7KZDOoVu3h9p/B27dHh5T6rpSZyv/2EIAIIXB3ZOy9Mwzq2fPrp49u3j+/KEnn1x+9tmVc+eWn302293dPXly9+TJnZMnd06cuH76dH7w4N7tt+8eO1Z0V0TphEiEe1LUMMZ159vbRUfI17pDtraWHn98cXNzcXNz4emnFzc38+Xl/fX16d1376+v7505M11f33/xi/fvvTe/++5+a44hbD8AgvV5JWX57NmDX/nK8ubmoS99qYgwVr761b077ti+557te+7ZOnPm8qtetXvy5M6JE7snT07pA0dr2epqfvfd+3ffvX9jyraW4uLFxc3Nhb/4i8XNzezChdXf+Z3FX/7lxSefXLhwoQg79u69d/f++6enT+/fd9/0RS/quP4AMFLdRRtLzzxz4LHHDn/hCwcef/zgV75y4PHHd48fv37mzAsPPHDtJS+59O3fXgQZanbHUWIEjh3bP3Zs/+Uv31VKKXXtxuR8e3vxiScWn3xy6cknFy5cOPjhDy998YsL58/vvfSlxb/dV75y75WvzE+d6q3mADBgKaON69cPf/azhx99dO1P/uTQo4+qhYXnv/M792+77dK3f/szP/Ij117yEnXgQMLSgXiy1dXpffdN77uvGoXkW1tLX/xi8W/1N3/ztocfVkrtvupVu6961c6rX7374IMZWzgAKKVSjNs4+Cd/cvT3fu+2T35y7dFHLz344LVv+Iatb/zGq694xd6JE1HyHyPGbaj5uO6ePf308uc+t/y5zy0+9tiBj3509zWv2X7967df//r9b/7mvqs2evOw/QAzLFrfxtK5cyd+7dcO/eEfLl+69MK3fdvZt7zl6mteEytzVDkOuxyR+5WfOrVz6tTO93yPUuoFpZY/8YmVj33stocf3r/jjr3Xvnbr7/yd/OTJvuuI7szqyzwj6uyQFVYQR9SI4kQb9/zzf37HRz96/m/+zcff8Y7p8eNe85rvZnO8NU2e2PbKtyG/km2utmz3m5Dcr1aqXVHy9zZJSvF6Gb2t6N2//JePv/GNSqkTSv3kxz/+lne9a+3HfuzqP/2njRkCGvkb1IQpax+b7UicImzSdmTbflT7Nlf3jinff83MzRfCzc9hOam20cbSM8888Df+xhfe/e6zP/VTAbMXMUE1AphM3juZvLc2JvBKbE7s65WzMJk7sO1l0+7jkTDDxlnMUuRv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
  
  
  
  
  2014年11月20日纠正理解偏差:
  
  我以为这两个扩展安装的时候是封装好了libmemcached库或libmemcache库的。所以我之前纳闷,怎么下载页面的修改历史中并没有看到列出的库的版本。是我理解错误。
  编译这两个扩展的时候,都需要指定libmemcached库或libmemcache库的的安装路径的。所以预先安装好libmemcached(memcache扩展依赖的是libmemcache库)是编译这个扩展的先决条件。要记得先编译安装好。如下指定安装目录用--with-libmemcached-dir=DIR 来指定路径。这个路径就是安装libmemcached时指定的prefix的值(prefix是指定安装目录)
  如果没有指定这个路径项,就会去这些库的默认标准安装目录找(我不知道去哪里找),所以最好是指定库的位置来安装(可控性强,以后遇到问题方便排查原因,比如以前编译php使用pcre扩展,最好使用php引擎内置的pcre库,使用linux系统上面的,容易出现编码支持问题)。
  
  
  ====================================
  
  
  还有一个libmemcached.so扩展。这个不常用。所以我们以前没见到过。
  
  memcached与libmemcached库的区别
  这两个是连接memcached服务端的两个不同的客户端,只是不是给php语言使用的。是给c/c++语言使用的(本来就是用c编写的一个库)
  libmemcached 是 C/C++ 语言下的操作 memcache 服务器端的客户端库, 因为 PHP 的扩展也是用 C/C++ 写的, 所以编译安装 memcached.so 时依赖 libmemcached库也是可以理解的(得先安装这个库).
页: [1]
查看完整版本: memcache与memcached扩展的区别