Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。
Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。
Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。
本质上,它是一个简洁的key-value存储系统。
一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。
特征
memcached作为高速运行的分布式缓存服务器,具有以下的特点。
- 协议简单
- 基于libevent的事件处理
- 内置内存存储方式
- memcached不互相通信的分布式
1,安装
Linux系统安装memcached,首先要先安装libevent库。
yum install libevent libevent-deve
yum install memcached
2,启动
前台启动
memcached -p 11211 -m 64m–vv
后台启动
memcached -p 11211 -m 64m -d
3,连接
telnet 127.0.0.111211
4,命令
4.1,Memcached 存储命令
Memcachedset 命令
Memcachedadd 命令
Memcachedreplace 命令
Memcachedappend 命令
Memcachedprepend 命令
MemcachedCAS 命令
Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中。
如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。
语法:
set 命令的基本语法格式如下:
set key flags exptime bytes [noreply]
value
参数说明如下:
· key:键值 key-value结构中的 key,用于查找缓存值。
· flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息。
· exptime:在缓存中保存键值对的时间长度(以秒为单位,0表示永远)
· bytes:在缓存中存储的字节数
· noreply(可选):该参数告知服务器不需要返回数据
· value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)
实例
以下实例中我们设置:
· key → runoob
· flag → 0
· exptime → 900 (以秒为单位)
· bytes → 9 (数据存储的字节数)
· value → memcached
set runoob 0 900 9
memcached
STORED
get runoob
VALUE runoob 0 9
memcached
END
输出
如果数据设置成功,则输出:
STORED
4.2 Memcached查找命令
Memcachedget 命令
Memcachedgets 命令
Memcacheddelete 命令
Memcachedincr/decr 命令
Memcached get 命令获取存储在 key(键) 中的 value(数据值) ,如果 key 不存在,则返回空。
语法:
get 命令的基本语法格式如下:
get key
多个 key使用空格隔开,如下:
get key1 key2 key3
参数说明如下:
· key:键值 key-value结构中的 key,用于查找缓存值。
实例
在以下实例中,我们使用 runoob作为 key,过期时间设置为 900秒。
set runoob 0 900 9
memcached
STORED
get runoob
VALUE runoob 0 9
memcached
END
4.3 Memcached统计命令
Memcachedstats 命令
Memcachedstats items 命令
Memcachedstats slabs 命令
Memcachedstats sizes 命令
Memcachedflush_all 命令
Memcached stats 命令用于返回统计信息例如 PID(进程号)、版本号、连接数等。
语法:
stats 命令的基本语法格式如下:
stats
本文转自http://www.runoob.com/memcached/memcached-tutorial.html