zoukankan      html  css  js  c++  java
  • memcache和memcached之间的区别和联系

      memcache和memcached区别:

      Memcache是什么?
    Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。它可以应对任意多个连接,使用 非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash表,Memcached自管理这些Hash表。Memcache官方网站:http://memcached.org/

      Memcached又是什么?
    Memcache是该系统的项目名称,Memcached是该系统的主程序文件(字母d可以理解为daemon),以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,使用共享内存存取数据。

      memcache客户端(php)
      PHP有两个memcache客户端:php memcache和php memcached。
      php memcache独立用php实现,是老客户端,从我们实践中已发现有多个问题,而且功能少,属性也可设置的少;
      memcache的下载地址:http://pecl.php.net/package/memcache
      php memcached是基于原生的c的libmemcached的扩展,更加完善,建议替换为php memcached。
      memcached的下载地址:http://pecl.php.net/package/memcached

      由于在项目后期会引入缓存策略对角色的数据进行缓存,而现在我们大部分缓存都使用文件缓存,开发过网页游戏的朋友们大都知道,语言包和游戏相关的数 据大部分不经常改动,有时候几个星期不需要更新,只是在进行版本更新的时候才重新生成一次数据缓存,而角色的数据和数值时刻在变化着,会频繁的更新和操 作,采用文件缓存会频繁地进行I/O操作,在这个功能上文件缓存就不太适合了,所以对于角色的数据采取内存缓存策略在这里就比较合适。

      对于内存缓存,比较常用的有两种memcache和memcached扩展。而memcached和memcache的守护进程memcached同名, 比较容易引起混淆,甚至提到memcached,有些人第一想到的是后台的守护进程,这里还是有必要分析一下两者之间的区别,以下观点仅是个人观点,希望 朋友进行补充和更正。
    首先我们可以从php官方手册上可以清晰的看到两者的区别:
    memcache:http://cn2.php.net/manual/en/book.memcache.php
    memcached:http://cn2.php.net/manual/en/book.memcached.php

    memcache是完全在PHP框架内开发的,memecached是使用libmemcached的。从手册上看,memcached 会比 memcache 多几个方法,使用方式上都差不多。

    memcache是原生实现的,但是使用libmemcached的memached只支持OO接口,而 memcache则是OO和非OO两套接口并存,以后随着memcached服务器端的改进,这个lib也必定会马上跟进的。而memcache却不一定 能做到按时跟进。

    memcached,还有个非常称赞的地方,就是flag不是在操作的时候设置了。而是有一个统一的setOption()。memcached 实现了更多的 memcached 协议(毕竟是基于 libmemcached 库的)。

    这里有另外一个对比表,很明显,用 memcached 会让人放心很多:http://code.google.com/p/memcached/wiki/PHPClientComparison

    差别比较大的一点是,memcached 支持 Binary Protocol,而 memcache 不支持,意味着 memcached 会有更高的性能。不过,还需要注意的是,memcached 目前还不支持长连接。

    参考文档:   http://wenku.baidu.com/link?url=u5fGrzU3lfcO6p0FbkLjwdGlYIQEa8QanrFKwFZJZQu1zv7Z_gpl2P0Rr4hjBqHfz0dHi65y-JusSGGG9UYN-MfpIn86fo8ZTApmkOta6m7

          http://blog.csdn.net/lein_wang/article/details/52756859

  • 相关阅读:
    unity3d动态加载资源
    u3D大场景的优化
    C#代码规范
    游戏模型规范
    vue prop不同数据类型(数组,对象..)设置默认值
    vue-router实现页面的整体跳转
    Vue实现组件props双向绑定解决方案
    电脑连接并调试手机浏览器的网页
    对象里面的属性有值但是打印出来是空的,获取不到
    vue-cli sass安装
  • 原文地址:https://www.cnblogs.com/c-961900940/p/6289663.html
Copyright © 2011-2022 走看看