您的位置:首页 > 数据库 > Memcache

memcached基础介绍

2015-05-31 18:35 459 查看

一.memcached简介

Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

Memcached是一款免费及开源,高性能和分布式存储对象的缓存系统,具有通用性,但其应用目的是通过减少DB穿透,提高动态Web应用的速度。

Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.

Memcached可以存储调用DB,调用接口或页面渲染的任意结果数据(字符串,对象),以key-value的形式存储这些小块数据。

Memcached is simple yet powerful. Its simple design promotes quick deployment, ease of development, and solves many problems facing large data caches. Its API is available for most popular languages.

Memcached是轻便的,但是它功能强大。它轻便的设计提高了快速部署,降低了开发难度和解决了大数据缓存的许多问题。它的API支持大多流行编程语言。

二.memcached安装及使用

1.安装memcached

1)下载安装包:

wget http://www.memcached.org/files/memcached-1.4.24.tar.gz

2)解压安装包及安装

tar -xzvf memcached-1.4.24.tar.gz

./configure

make && make install

查看是否安装成功

memcached -h

会提示你安装的版本,及可选参数

3)启动服务

memcached -d -m 100 -u root -l 10.13.1.139 -p 7000 -c 1024 -P /tmp/memcached.pid

参数介绍:

d:以守护进程运行

m:分配的最大存储空间(单位MB,默认64M)

u:运行的用户类型

l:监听的ip

p:监听的port

c:最大连接数

P:进程号的保存文件

测试连接:telnet 10.13.1.139 7000



安装成功。

2.使用memcached

1)终端下直接操作

(1)存储命令

命令格式:

<command name> <key> <flags> <exptime> <bytes>


<data block>


<command name>:set,add,replace,append,prepend,cas


<key>
:数据的key

<flags>
:16位无符号整数(10进制),该标记在get数据时返回,可作为特殊标记。

<exptime>
:过期时间,0:不过期,但元素可被LRU替换;非0(unix时间戳),过期后,数据失效。

<bytes>
:分配给value的字节数。

<data block>
:存储的数据块。

(1-1)set,直接存储数据,如果key已存在,则直接替换。



(1-2)add:只有数据不存在时,才能添加;如果key已经存在,则添加失败,该元素重提到LRU最前端。



(1-3)replace:替换已存在的数据。



(1-4)append:在现有的key对应的value值后添加数据,flags要一致。



(1-5)prepend:在现有的key对应的value值前添加数据。



(1-6)cas:(Check And Set),从你最近一次读时,未有任何更新数据,才进行set,附件一个参数CAS,与gets得到的CAS一致才能添加。



当操作后,服务器将返回一个应答:

1.STORED,存储成功。

2.NOT_STORED,存储失败。

3.CLIENT_ERROR bad data chunk,分配的字节数不够。

(2)检索命令

(2-1)get: 根据key,取value,可以一个或多个key。



(2-2)gets:get扩充,附加CAS (a unique 64bit number),标记元素操作。



(2-3)delete:删除元素。



(2-4)stats:查询Memcached统计信息,进程id,连接数,命中率等信息。

stats reset: 清空统计信息。

stats items:slab中item的数目和最老item的年龄(最后一次访问距离现在的秒数)等,图中的1,表示slab_id。



stats cachedump slab_id limit_num:某个slab中的前limit_num个key列表,limit_num为0显示所有记录,为n显示n条。



格式:
ITEM <key_name> [ <value_length> b; <expire_time|access_time> s]


stats slabs: 各个slab的信息,包括chunk的大小、数目、使用情况。

flush_all:清空所有键值,在随后有新的元素被储存时执行。

quit:退出。

2)可视化工具memAdmin

基于 PHP5 & JQuery 的 Memcached 管理监控工具:http://www.junopen.com/memadmin/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: