MemCache虽然被称为”分布式缓存”,可是MemCache自己彻底不具有分布式的功能数据库
Memcache 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它经过在内存中缓存数据和对象来减小读取数据库的次数,从而提升了网站访问的速度。 MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(好比字符串、对象等)所使用的key-value存储,数据能够来自数据库调用、API调用,或者页面渲染的结果。MemCache设计理念就是小而强大,它简单的设计促进了快速部署、易于开发并解决面对大规模的数据缓存的许多难题,而所开放的API使得MemCache能用于Java、C/C++/C#、Perl、Python、PHP、Ruby等大部分流行的程序语言。缓存
memcached -d install
来把memcache安装为系统服务, 运行命令 memcached -d start
来启动服务telnet localhost 11211
来链接 memcache 实例sudo apt-get install -y memcached
来安装memcacheps aux | grep memcached
来查看是否正常运行telnet localhost 11211
来链接memcache实例添加数据,将 value(数据值) 存储在指定的 key(键) 中app
add key flag expiretime bytes value
# 添加数据 add name 0 1000 8 kangvcar STORED # 若是bytes设置的长度和输入的value长度不符则出现一下错误 add name 0 1000 8 kangvcarrr CLIENT_ERROR bad data chunk
为一个新的或现有的键(key)设置一个值分布式
set key flag expiretime bytes value
参数含义与 add 命令相同memcached
为已存在的key(name)设置一个新的值tom set name 0 1000 3 tom STORED
替换已存在的 key(键) 的 value(数据值)性能
replace key flag expiretime bytes value
参数含义与 add 命令相同网站
replace name 0 1000 8 memcache STORED
向已存在 key(键) 的 value(数据值) 后面追加数据设计
append key flag expiretime bytes value
参数含义与 add 命令相同code
# 添加数据123到现有键name的后面 append name 0 1000 3 123 STORED # 查看键name的值 get name VALUE name 0 11 memcache123 END
向已存在 key(键) 的 value(数据值) 前面追加数据对象
prepend key flag expiretime bytes value
参数含义与 add 命令相同
prepend name 0 1000 3 456 STORED get name VALUE name 0 14 456memcache123 END
gets
获取带有 CAS 令牌的 value(数据值) cas
执行一个"检查并设置"的操做
gets key
cas key flags exptime bytes unique_cas_token [noreply] value
# 缺乏一个参数 unique_cas_token cas name 0 1000 3 ERROR # unique_cas_token 不正确 cas name 0 1000 3 2 sam NOT_FOUND # 经过 gets 命令获取惟一令牌 ==> 12 gets name VALUE name 0 8 12 kangvcar END # 使用 cas 命令更新数据 cas name 0 1000 3 12 sam STORED # 使用 get 命令查看数据是否更新 get name VALUE name 0 3 sam END
获取存储在 key(键) 中的 value(数据值)
get key
# 获取存储在键name的值 get name VALUE name 0 14 456memcache123 END
删除已存在的 key(键)
delete key
delete age DELETED
incr 与 decr 命令用于对已存在的 key(键) 的数字值进行自增或自减操做
incr key increment_value
decr key increment_value
# 添加数据 add age 0 1000 2 15 STORED # 对已存在的键(age)数字值进行自增 incr age 5 20 # 获取键age的值 get age VALUE age 0 2 20 END
# 添加数据 add age 0 1000 2 15 STORED # 对已存在的键(age)数字值进行自减 incr age 5 10 # 获取键age的值 get age VALUE age 0 2 10 END
清理缓存中的全部数据
flush_all [time]
flush_all OK
stats
显示统计信息例如 PID(进程号)、版本号、链接数等 stats slabs
显示各个slab的信息,包括chunk的大小、数目、使用状况等 stats sizes
显示全部item的大小和个数 stats items
显示各个 slab 中 item 的数目和存储时长
stats
stats slabs
stats sizes
stats items
stats STAT pid 19700 STAT uptime 3054540758 STAT time 269361355 STAT version 1.4.4-14-g9c660c0 STAT pointer_size 64 ...
stats slabs STAT 1:chunk_size 96 STAT 1:chunks_per_page 10922 STAT 1:total_pages 1 STAT 1:total_chunks 10922 ...
stats sizes STAT 96 2 END
stats items STAT items:1:number 2 STAT items:1:age 3054540037 STAT items:1:evicted 0 STAT items:1:evicted_nonzero 0 STAT items:1:evicted_time 0 STAT items:1:outofmemory 0 STAT items:1:tailrepairs 0 END