• memcached 详解


    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。特征

    memcached作为高速运行的分布式缓存服务器,具有以下的特点。

    · 协议简单

    · 基于libevent的事件处理

    · 内置内存存储方式

    · memcached不互相通信的分布式

    协议

    memcached的服务器客户端通信并不使用复杂的XML等格式,而使用简单的基于文本行的协议。

    因此,通过telnet也能在memcached上保存数据、取得数据。下面是例子。

    $ telnet localhost 11211

    Trying 127.0.0.1...

    Connected to localhost.localdomain (127.0.0.1).

    Escape character is '^]'.

    set foo 0 0 3 (保存命令)

    bar (数据)

    STORED (结果)

    get foo (取得命令)

    VALUE foo 0 3 (数据)

    bar (数据)

    事件处理

    libevent是个程序库,它将LinuxepollBSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥O(1)的性能。memcached使用这个libevent库,因此能在LinuxBSDSolaris等操作系统上发挥其高性能。关于事件处理这里就不再详细介绍,可以参考Dan KegelThe C10K Problem

    存储方式

    为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。

    通信分布式

    memcached尽管是分布式缓存服务器,但服务器端并没有分布式功能。各个memcached不会互相通信以共享信息。那么,怎样进行分布式呢?这完全取决于客户端的实现。本文也将介绍memcached的分布式。

    CentOS 下的安装

    安装
      yum -y install memcached

    设置为开机启动
      chkconfig --level 2345 memcached on

    启动和停止
      /etc/init.d/memcached start|stop

    补充:如果安装缺少其他支持,可以:

    yum groupinstall "Development Tools"

  • 相关阅读:
    JS文本框下拉提示效果
    JS动态添加删除表格行
    JS验证 数字 电话号码 传真 邮箱 手机号码 邮编 日期
    TreeView 中CheckBox级联选中问题
    HashTable Dictionary
    JS操作Frame对象
    Winfrom 中怎样在回车时设置焦点
    Word 操作(未完待续)
    HTML5特性——prefetching预加载功能
    10个实用的 jQuery Mobile 插件推荐
  • 原文地址:https://www.cnblogs.com/xiaowangba/p/6314189.html
Copyright © 2020-2023  润新知