跳至内容
wiki
用户工具
登录
站点工具
工具
显示页面
修订记录
反向链接
最近更改
媒体管理器
网站地图
登录
最近更改
媒体管理器
网站地图
您的足迹:
分享:技术:memcached:memcached的介绍
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
====== memcached的介绍 ====== memcached 是以LiveJournal 旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件。现在已成为 mixi、 hatena、 Facebook、 Vox、LiveJournal等众多服务中 提高Web应用扩展性的重要因素。 许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。 但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、 网站显示延迟等重大影响。 这时就该memcached大显身手了。memcached是高性能的分布式内存缓存服务器。 一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、 提高可扩展性。 {{ :分享:技术:memcached:memcached_1.png?300 |}} ====== memcached的特点 ====== * 协议简单 * 基于libevent的事件处理 * 内置内存存储方式 * memcached不互相通信的分布式 ====== memcached的安装 ====== 在Ubuntu14.04上安装如下: sudo apt-get install memcached 安装好,默认启动memcached,默认端口是11211 <code> #启动脚本:-m指定内存单位M,-p指定端口,-u指定用户,-l指定memcached server的ip sudo /etc/init.d/memcached start -m 64 -p 11211 -u memcache -l 127.0.0.1 #关闭脚本 sudo /etc/init.d/memcached stop #连接memcached server gxx@iZ23goxo66aZ:~$ telnet localhost 11211 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. #退出memcached server quit Connection closed by foreign host. gxx@iZ23goxo66aZ:~$ </code> ====== memcached的常用命令 ====== * 存储命令+读取命令 存储命令的格式: <command name> <key> <flags> <exptime> <bytes> <data block> 参数说明如下: ^ <command name> |set/add/replace| ^ <key> |查找关键字| ^ <flags> |客户机使用它存储关于键值对的额外信息| ^ <exptime> |该数据的存活时间,0表示永远| ^ <bytes> |存储字节数| ^ <data block> |存储的数据块(可直接理解为key-value结构中的value)| <code> gxx@iZ23goxo66aZ:~$ telnet localhost 11211 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. set name 0 0 3 #set设置name,不管是否存在,长度为3字节 gxx STORED get name #get获取name VALUE name 0 3 gxx END add name 0 0 3 #add添加name,已存在,添加失败 lqy NOT_STORED add pwd 0 0 6 #add添加pwd,不存在,添加成功 123456 STORED replace notexist 0 0 3 #replace替换notexist,不存在,替换失败 123 NOT_STORED replace pwd 0 0 3 #replace替换pwd,已存在,替换成功 123 STORED get pwd #get获取pwd VALUE pwd 0 3 123 END delete pwd #delete删除pwd,删除成功 DELETED get pwd #get获取pwd,不存在,直接返回END END get name #get获取name VALUE name 0 3 gxx END gets name #gets获取name,后面多返回一个类似版本号的数字,当name值改变时,这个多返回的数字也会改变 VALUE name 0 3 12 gxx END </code> * 状态命令 <code> stats #查看状态 STAT pid 9167 STAT uptime 105193 STAT time 1437545041 STAT version 1.4.14 (Ubuntu) STAT libevent 2.0.21-stable STAT pointer_size 64 STAT rusage_user 2.010588 STAT rusage_system 0.816230 STAT curr_connections 5 STAT total_connections 13 STAT connection_structures 6 STAT reserved_fds 20 STAT cmd_get 20 STAT cmd_set 16 STAT cmd_flush 1 STAT cmd_touch 0 STAT get_hits 15 STAT get_misses 5 STAT delete_misses 0 STAT delete_hits 2 STAT incr_misses 0 STAT incr_hits 0 STAT decr_misses 0 STAT decr_hits 0 STAT cas_misses 0 STAT cas_hits 0 STAT cas_badval 0 STAT touch_hits 0 STAT touch_misses 0 STAT auth_cmds 0 STAT auth_errors 0 STAT bytes_read 1084 STAT bytes_written 7545 STAT limit_maxbytes 67108864 STAT accepting_conns 1 STAT listen_disabled_num 0 STAT threads 4 STAT conn_yields 0 STAT hash_power_level 16 STAT hash_bytes 524288 STAT hash_is_expanding 0 STAT expired_unfetched 0 STAT evicted_unfetched 0 STAT bytes 365 STAT curr_items 5 STAT total_items 14 STAT evictions 0 STAT reclaimed 0 END stats items #查看项状态 STAT items:1:number 5 STAT items:1:age 75765 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 STAT items:1:reclaimed 0 STAT items:1:expired_unfetched 0 STAT items:1:evicted_unfetched 0 END </code> * 字符拼接命令 <code> set name 0 0 3 #set设置name gxx STORED get name #get获得name VALUE name 0 3 gxx END append name 0 0 2 #append在name后面拼接2个字节 12 STORED get name #get获得name VALUE name 0 5 gxx12 END prepend name 0 0 3 #prepend在name前面拼接3个字节 123 STORED get name #get获得name VALUE name 0 8 123gxx12 END flush_all #flush_all清空所有数据 OK get name #get获得name,返回空 END </code>
分享/技术/memcached/memcached的介绍.1437545620.txt.gz
· 最后更改: 2015/07/22 14:13 由
gxx
页面工具
显示页面
修订记录
反向链接
回到顶部