然后从内存中读取,  下载MemCache的源文件

1.什么是MemCache

  MemCache一种工作于劳动器端的多少管理工具,他得以将数据以
键-值对的形式保存在内存中。主要功能是用作缓冲区以增进快捷出现访问的快慢。

前方的话

  Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个联合的宏大的hash表,它能够用来存储各类格式的数码,包括图像、视频、文件以及数据库检索的结果等。总而言之就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。本文将详细介绍MemCache的情节

 

2.MemCache的安装

  下载MemCache的源文件,并置身memcached目录下。

  在命令行输入指令安装

图片 1

  执行完毕后,我们就足以在windows的服务管理中找到memcache服务了,这里自己将她的启动情势改为手动启动

  图片 2

  假如明日要启动memcache服务的话需要在命令行输入一下命令

图片 3

作用

  Memcache是danga的一个系列,最早是LiveJour  MemCachenal
服务的,最初为了加速 LiveJournal
访问速度而付出的,后来被不少特大型的网站选择

  Memcache是以守护程序方法运行于一个或多个服务器中,随时会接到客户端的连年和操作

  MemCache缓存系统最关键的就是为了增进动态网页应用,分担数据库检索的下压力。对于网站流量比较大的,可以应用memcache缓解数据库的下压力,重要的枢纽集中在偏下四个地点:1.
施用MemCache作为中间缓存层减弱数据库的压力和2. MemCache分布式的行使

 

3.MemCache的接连与利用

  memcached进程是服务器端的,memcached可以选拔编程语言(如PHP)也足以采取Telnet。

  Telnet使用ip地址和端口号连接,那里ip地址为本机,端口号为默认11211。

图片 4

  连接成功将来就足以选取客户端命令举办操作了

安装

  1、下载软件,解压后,共以下五个文本

图片 5

  2、安装到windows服务,打开cmd命令行,进入memcached目录,执行memcached
-d install命令,安装服务

  [注意]假若在并未安装过的情景下,现身”failed to install service or
service already installed”错误,可能是cmd.exe需要用管理员身份运行

图片 6

  3、启动服务,执行memcached.exe -d start

图片 7

  最后,在总括机->管理->服务中,可以找到memcached服务

图片 8

 

4.MemCache命令

管理

  memcache的端口号是11211,在启动memcache服务后展开连接

  [注意]telnet在windows下默认是不打开的,所以需要手动开启

telnet 127.0.0.1 11211 

图片 9

  进入memcache服务后,输入stats命令,会冒出如下所示

图片 10

  stats命令的功能正如其名:转储所连接的memcached实例的当下总计数据。在下例中,执行
stats 命令呈现了关于当前 memcached 实例的信息

STAT pid 22459                             进程ID 
STAT uptime 1027046                        服务器运行秒数 
STAT time 1273043062                       服务器当前unix时间戳 
STAT version 1.4.4                         服务器版本 
STAT pointer_size 64                       操作系统字大小(这台服务器是64位的) 
STAT rusage_user 0.040000                  进程累计用户时间 
STAT rusage_system 0.260000                进程累计系统时间 
STAT curr_connections 10                   当前打开连接数 
STAT total_connections 82                  曾打开的连接总数 
STAT connection_structures 13              服务器分配的连接结构数 
STAT cmd_get 54                            执行get命令总数 
STAT cmd_set 34                            执行set命令总数 
STAT cmd_flush 3                           指向flush_all命令总数 
STAT get_hits 9                            get命中次数 
STAT get_misses 45                         get未命中次数 
STAT delete_misses 5                       delete未命中次数 
STAT delete_hits 1                         delete命中次数 
STAT incr_misses 0                         incr未命中次数 
STAT incr_hits 0                           incr命中次数 
STAT decr_misses 0                         decr未命中次数 
STAT decr_hits 0                           decr命中次数 
STAT cas_misses 0                          cas未命中次数 
STAT cas_hits 0                            cas命中次数 
STAT cas_badval 0                          使用擦拭次数 
STAT auth_cmds 0 
STAT auth_errors 0 
STAT bytes_read 15785                      读取字节总数 
STAT bytes_written 15222                   写入字节总数 
STAT limit_maxbytes 1048576                分配的内存数(字节) 
STAT accepting_conns 1                     目前接受的链接数 
STAT listen_disabled_num 0                 
STAT threads 4                             线程数 
STAT conn_yields 0 
STAT bytes 0                               存储item字节数 
STAT curr_items 0                          item个数 
STAT total_items 34                        item总数 
STAT evictions 0                           为获取空间删除item的总数 

  使用命令quit,就足以退出memcache操作界面了

图片 11

 

  stats查看服务器状态

命令

  通过应用memcache.exe -h可以查看memcache协助的一声令下

图片 12

-p <num>   设置端口号(默认不设置为: 11211)
-U <num>   UDP监听端口(默认: 11211, 0 时关闭) 
-l <ip_addr> 绑定地址(默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问)
-d   独立进程运行
-d start 启动memcached服务 
-d restart 重起memcached服务 
-d stop|shutdown 关闭正在运行的memcached服务 
-d install 安装memcached服务 
-d uninstall 卸载memcached服务 
-u <username> 绑定使用指定用于运行进程<username>
-m <num>  允许最大内存用量,单位M (默认: 64 MB)
-P <file> 将PID写入文件<file>,可以使得后边进行快速进程终止, 需要与-d 一起使用
-M 内存耗尽时返回错误,而不是删除项 
-c  最大同时连接数,默认是1024 
-f 块大小增长因子,默认是1.25 
-n 最小分配空间,key+value+flags默认是48 
-h 显示帮助

  一般地,memcache使用以下5个常用的指令

stats: 当前所有memcached服务器运行的状态信息
add: 添加一个数据到服务器
set: 替换一个已经存在的数据,如果数据不存在,则和add命令相同。
get: 从服务器端提取指定的数据。
delete: 删除指定的单个数据,如果要清除所有数据,可以使用flush_all指令

  关于memcache的荒唐指示重要有以下两个指令:

ERROR -- 普通错误信息,比如指令错误
CLIENT_ERROR <错误信息> -- 客户端错误
SERVER_ERROR <错误信息> --服务器端错误

命令格式

  格式:<命令> <键> <标记> <有效期>
<数据长度>

  命令:add(添加)、set(修改)、delete(删除)、get(获取)

  <键>-key:发送过来指令的key内容

  <标记>-flags:调用set指令保存数据时的flags标记

  有效期:数据在服务器上的有效期限,倘诺是0,则数据永远有效,单位是秒

  数据的尺寸:block data
块数据的长短,一般在这多少个长度截至之后下一行跟着block data数据内容

返回值

  发送完数据后,客户端一般等待服务器端的归来,服务器端的再次回到值包括以下二种:

STORED 数据保存成功
NOT_STORED 数据保存失败,是因为服务器端这个数据key已经存在

  下边以add one 1 0
5为例,add表示添加数据,one表示键名,1象征标记,0代表有效期永久,5代表长度为5

  回车后输入12345,再回车,表示键值为12345,并保留成功

图片 13

  通过get one可以找到键名one的相关音讯及键值

图片 14

  然后通过set one将符号改为2

图片 15

  再经过get one可以找到键名one的连带信息及键值

图片 16

  通过delete one删除one,再经过get one读取one的新闻时为空

图片 17

  一般地,使用memcache并不常用遍历操作,但可以模拟出遍历的作为。首先,先存入5个数据

图片 18

  然后,执行stats items命令,可以看来出现许多的items行。执行stats
cachedump 1
0发令。那里的1意味着下面图中items后边的数字,0标志显示所有的数量,要是是1就标志只突显1条

图片 19

  图片 20

  add添加数量

    add命令以<键>-<标记>-<有效期>-<数据长度>的法子充裕数据

    键值必须唯一

    标记值是一个无符号整数,其效用见后边部分

    有效期单位是秒,0代表永久有

    数据长度,相比难以设置,所以大家使用编程语言提供的借口添加数据

    图片 21

    如图添加一个名为user的数额,标记为1,时间为30秒,长度为5。

    add假如添加一个业已存在的键名的话将会破产。

  set添加多少

    set使用办法与add相同set添加一个键名存在的数量时,将会交替掉原来这一个。

    图片 22

  get查询数据

    使用get 键名 查询数据

    图片 23

  delete删除数据

    图片 24

  flush_all命令删除所有数额

    注意下划线

    图片 25

5.遍历出所有数量

  首先接纳stats items命令查看存入数据的景观

  大家第一添加one,two,three三条数据

  然后用stats items观察

  图片 26

  之后可以使用stats cachedump <标记>
<数字>展现出所有数码,

  其中数组表示显示出的条数,假如是0则表示整个数据

  图片 27

  注意:假使利用delete删除数据,则该方法不会显得出删除的多少,但利用flush_all方法删除的数量任然可以打印,但实质上已经去除,不可以取出值。