首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

[转]memcached完全辨析–1. memcached的基础

2012-11-04 
[转]memcached完全剖析–1. memcached的基础版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链

[转]memcached完全剖析–1. memcached的基础

版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2008/07/10/memcached-001/ 以及本声明。

?

翻译一篇技术评论社的文章,是讲memcached的连载。fcicq同学说这个东西很有用,希望大家喜欢。

发表日:2008/7/2
作者:长野雅广(Masahiro Nagano)
原文链接:http://gihyo.jp/dev/feature/01/memcached/0001

我是mixi株式会社开发部系统运营组的长野。日常负责程序的运营。从今天开始,将分几次针对最近在Web应用的可扩展性领域的热门话题memcached,与我公司开发部研究开发组的前坂一起,说明其内部结构和使用。

?

?

图1 一般情况下memcached的用途

memcached的特征

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

    图2 memcached的分布式

    接下来简单介绍一下memcached的使用方法。

    安装memcached

    memcached的安装比较简单,这里稍加说明。

    memcached支持许多平台。

      选项说明-p使用的TCP端口。默认为11211-m最大内存大小。默认为64M-vv用very vrebose模式启动,调试信息和错误输出到控制台-d作为daemon在后台启动

      ?

      ?

      ?

      上面四个是常用的启动选项,其他还有很多,通过

      ?

      选项说明servers用数组指定memcached服务器和端口compress_threshold数据压缩时使用的值namespace指定添加到键的前缀

      ?

      另外,Cache::Memcached通过Storable模块可以将Perl的复杂数据序列化之后再保存,因此散列、数组、对象等都可以直接保存到memcached中。

      保存数据

      向memcached保存数据的方法有

        选项说明add仅当存储空间中不存在键相同的数据时才保存replace仅当存储空间中存在键相同的数据时才保存set与add和replace不同,无论何时都保存

        ?

        获取数据

        获取数据可以使用get和get_multi方法。

        ?

        my $ret = $memcached->incr('键');$memcached->add('键', 0) unless defined $ret;
        ?

        增一和减一是原子操作,但未设置初始值时,不会自动赋成0。因此,应当进行错误检查,必要时加入初始化操作。而且,服务器端也不会对超过2 32时的行为进行检查。

        总结

        这次简单介绍了memcached,以及它的安装方法、Perl客户端Cache::Memcached的用法。只要知道,memcached的使用方法十分简单就足够了。

        下次由前坂来说明memcached的内部结构。了解memcached的内部构造,就能知道如何使用memcached才能使Web应用的速度更上一层楼。欢迎继续阅读下一章。

热点排行