MemCached缓存

一、安装
     1.解压下载后的文件,把它放到一个目录中,如D:\memcached。
     2.打开cmd,进入memcached解压后存放的目录,运行命令:
          memcached.exe -d install(目录中应该有memcached.exe这个文件)
     3.测试是否安装成功:
       打开cmd,进入memcached解压后存放的目录,运行命令:
          memcached.exe -h 若安装成功会出现如下界面:





















     4.启动memcached:
       打开cmd,进入memcached解压后存放的目录,运行命令:
          memcached.exe -d start
     5.关闭memcached:
          memcached.exe -d stop/shutdown进行关闭
     *设置memcached,启动服务后,memcached服务默认占用的端口是11211,占用的最大内存默认是64M
     *如果需要修改这两个参数,比如修改端口为10000,内存为512,则输入:
          memcached.exe -p 10000 -m 512 -d start     -p表示要修改的端口,-m表示占用的最大内存(单位M)
     6.连接memcached:
          telnet 127.0.0.1 11211  即可连接memcached
二、memcached常用命令及使用说明:
     1.启动memcached常用参数
          -p <num> 设置TCP端口号(默认设置为:11211)
          -U <num> UDP监听端口(默认:11211,0时关闭)
          -l <ip_addr> 绑定地址(默认:所以都允许,无论内外网或者本机更换IP,有安全隐患,若设为127.0.0.1就只能本机访问)
          -c <num> max simultaneous connections (default:1024)
          -d 以daemon方式运行
          -u <username> 绑定使用指定用于运行进程<username>
          -m <num> 允许最大内存用量,单位M(默认:64M)
          -P <file> 将PID写入文件<file>,这样可以使得后边进行快速进程终止,需要与-d一起使用
     >更多使用者memcached -h
       在linux下:/usr/local/bin/memcached -d -u root -l 192.168.1.127 -m 2048 -p 12121
       在windows下:D:\memcached.exe -d RunService -l 127.0.0.1 -p 11211 -m 500
     >在windows下注册为服务后运行:
          sc.exe create memcached_sry binpath="d:\memcached\memcached.exe -d RunService -p 11211 -m 500" start=auto
          net start memcached
     2.连接和退出
          telnet 127.0.0.1 11211
          quit
     3.基本命令
          五种基本memcached命令执行最简单的操作。这些命令和操作包括:
           set、add、replace、get、delete
          前三个命令是用于操作存储在memcached中的键值对的标准修改命令。它们都非常简单易用,且都使用如下所示的语法:
           command <key> <flags> <expiration time> <bytes>
           <value>
     参数说明如下:
          command set/add/replace
          key key用于查找缓存值
          flags 可以包括键值对的整形参数,客户机使用它存储关于键值对的额外信息
          expiration time 在缓存中保存键值对的时间长度(以秒为单位,0表示永远)
          bytes 在缓存中存储的字节点
          value 存储的值(始终位于第二行)
     3.1 set
          set命令用于向缓存添加新的键值对。如果键已经存在,则之前的值将被替换。注意以下交互,它使用了set命令:
            set userId 0 0 5
           12345
           STORED
          如果使用了set命令正确设定了键值对,服务器使用单词STORED进行响应。
          本示例向缓存中添加了一个键值对,其键为userId,其值为12345。
          并将过期时间设置为0,这将向memcached通知您希望将此值存储在缓存中知道删除它为止。
     3.2 add
          仅当缓存中不存在键时,add命令才会向缓存中添加一个键值对。如果缓存中已经存在键,则之前的值将仍然保持相同,并且您将获得响应NOT_STORED。下面是使用add命令的标准交互:
          set userId 0 0 5
          12345
          STORED
          add userId 0 0 5
          55555
          NOT_STORED
          add companyId 0 0 3
          564
          STORED
     3.3 replace
          仅当键已经存在时,replace命令才会替换缓存中的键。如果缓存中不存在键,那么您将从memcached服务器接受到一条NOT_STORED响应。下面是使用replace命令的标准交互:
            replace accountId 0 0 5
           67890
           NOT_STORED
           set accountId 0 0 5
           67890
           STORED
           replace accountId 0 0 5
           55555
           STORED
     3.4 get
          get命令用于检索与之前添加的键值对相关的值。您将使用get执行大多数检索操作。下面是使用get命令的典型交互:
            set userId 0 0 5
           12345
           STORED
           get userId
           VALUE userId 0 5
           12345
           END
           get bob
           END
          如您所见,get命令相当简单。您使用一个键来调用get,如果这个键存在于缓存中,则返回相应的值。如果不存在,则不返回任何内容。
     3.5 delete
          最后一个基本命令是delete。delete命令用于删除memcached中的任何现有值。您将使用一个键调用delete,如果该键存在于缓存中,则删除该值。如果不存在,则返回一条NOT_FOUND消息。下面是使用delete命令的客户机服务器交互:
            set userId 0 0 5
           98765
           STORED
           delete bob
           DELETED
           get userId
           END
     》可以在memcached中使用的两个高级命令是gets和cas。gets和cas命令需要结合使用。您将使用这两个命令来确保不会将现有的名称/值对设置为新值(如果该值已经更新过)。我们来分别看看这些命令。
     3.6 gets
          gets命令的功能类似于基本的给命令。两个命令之间的差异在于,gets返回的信息稍微多一些:64位的整形值非常像名称/值对的"版本"标识符。下面是使用gets命令的客户机服务器交互:
            set userId 0 0 5
           12345
           STORED
           get userId
           VALUE userId 0 5
           12345
           END
           gets userId
           VALUE userId 0 5 412345
           END
          考虑get和gets命令之间的差异。gets命令将返回一个额外的值-在本例中是整形值4,用于标示名称/值对。如果对此名称/值对执行另一个set命令,则gets返回的额外值将会发生更改,以表明名称/值对已经被更新。显示了一个例子:
            set userId 0 0 5
           33333
           STORED
           gets userId
           VALUE userId 0 5 5 33333
           END
          您看到gets返回的值了吗?它已经更新为5。您每次修改名称/值对时,该值都会发生更改
     3.7 cas
          cas(check和set)是一个非常便捷的memcached命令,用于设置名称/值对的值(如果该名称/值对您上次执行gets后没有更新过)。它使用与set命令相类似的语法,但包括一个额外的值:gets返回额外值。注意一下使用cas命令的交互:
            set userId 0 0 5
           55555
           STORED
           gets userId
           VALUE userId 0 5 6 55555
           END
           cas userId 0 0 5 6333333
           STORED
          如您所见,我使用额外整形值6来调用gets命令,并且操作运行非常顺序。现在,我们来看看中的一系列命令:使用旧版本指示符的cas命令:
            set userId 0 0 5
           55555
           STORED
           gets userId
           VALUE userId 0 5 8 55555
           END
           cas userId 0 0 5 633333
           EXISTS
          注意,我并未使用gets最近返回的整形值,并且cas命令返回EXISTS值以示失败。从本质上说,同时使用gets和cas命令可以防止您使用自上次读取后经过更新的名称/值对。
     》 缓存管理命令
          最后两个memcached命令用于监控和清理memcached实例。它们是stats和flush_all命令
      3.8 stats
           stats命令的功能正如其名:转储所连接的memcached实例的当前统计数据。在下例中,执行stats命令显示了关于当前memcached实例的信息:
           STAT pid                    进程ID
           STAT uptime                 服务器运行秒数
           STAT time                   服务器当前unix时间戳
           STAT version                服务器版本
           STAT pointer_size           操作系统字大小
           STAT rusage_user            进程累计用户时间
           STAT rusage_system          进程累计系统时间
           STAT curr_connections       当前打开连接总数
           STAT total_connections      曾打开的连接总数
           STAT connection_structures  服务器分配的连接结构数
           STAT cmd_get                执行get命令总数
           STAT cmd_set                执行set命令总数
           STAT cmd_flush              指向flush_all命令总数
           STAT get_hits               get命中次数
           STAT get_misses             get未命中次数
           STAT delete_misses          delete未命中次数
           STAT delete_hits            delete命中次数
           STAT incr_misses            incr未命中次数
           STAT incr_hits              incr命中次数
           STAT decr_misses            decr未命中次数
           STAT decr_hits              decr命中次数
           STAT cas_misses             cas未命中次数
           STAT cas_hits               cas命中次数
           STAT cas_badval             使用擦拭次数
           STAT bytes_read             读取字节总数
           STAT bytes_written          写入字节总数
           STAT limit_maxbtes          分配的内存数(字节)
           STAT accepting_conns        目前接受的连接数
           STAT threads                线程数
           STAT bytes                  存储item字节数
           STAT curr_items             item个数
           STAT total_items            item总数
           STAT evictions              为获取空间删除item的总数
          此处的大多数输出都非常容易理解。我们先来看看输出,然后再使用新的键来运行一些set命令,并再次运行stats命令,注意发生了哪些变化。
          stats items 
          执行statis items,可以看到STAT items行,如果memcached储存内容很多,那么这里也会列出很多的STAT items行。
     3.9 flush_all
          flush_all 是最后一个要介绍的命令。这个最简单的命令仅用于清理缓存中的所有名称/值对。如果您需要将缓存重置到干净的状态,则flush_all能提供很大的用处。下面是一个使用flush_all的例子
     3.10 append
          append将数据追加到当前缓存数据的之后,当缓存数据存时才存储。
     3.11 prepend
          prepend将数据追加到当前缓存数据之前,当缓存数据存在时才存储。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值