mecached 基础(二)--memcached安装和初次使用

参考文献:

安装和使用memcached

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余(例如,复制其hashmap条目);当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对都将丢失。


一个示例应用程序体系结构
建立一个 Web 层,其中包括一些 Apache 实例。Application层是应用程序本身。这一层通常运行于 Apache Tomcat 或其他开源应用服务器之上。再下面一层是配置 memcached 实例的地方 — 即应用服务器与数据库服务器之间。在使用这种配置时,需要采用稍微不同的方式来执行数据库的读取和写入操作。
一个使用memcached 的一般方法如下图:


本文主要用java语言描述

一、memcached windows下安装:

(1)下载memcached 

http://download.csdn.net/detail/ldwtill/4051880

(2)解压到指定目录

如D:\memcached-win32-1.4.4-14

(3)安装

用cmd打开命令窗口,进入解压目录:D:\memcached-win32-1.4.4-14,输入memcached.exe -d install

打开 控制面板--服务,查看memcache服务是否启动,未启动请手动启动。

(4)指定端口监听缓存读取请求

用cmd 打开命令窗口,进入解压目录D:\memcached-win32-1.4.4-14,输入以下命令:

sc create Memcachedserver11212 binpath= "D:\memcached-win32-1.4.4-14\memcached.exe -d runservice -m 256 -p 11211" start= auto displayname= "Memcached server (11212)"

对本命令的详解请见

http://blog.csdn.net/ldwtill/article/details/7243303

(5)验证

使用telnet命令验证是否可用

用cmd打开命令窗口,输入telnet IP 端口号

如:telnet localhost 11211

开始无显示,回车后输入stats查看统计信息即成功,显示error的话多输入几次stats试试。


二、memcached windows下简单使用:

(1)登陆服务:
 telnet IP port 
如telnet localhost 11211

(2)存储命令

命令格式:

<command name><key><flags><exptime><bytes>\r\n


命令解释:

<commandname>  set/add/replace  

<key>  查找关键字  

<flags>  客户机使用它存储关于键值对的额外信息 

<exptime>  该数据的存活时间,0为永远  

<bytes>  存储字节数  

<datablock>  存储的数据块   


set、add、replace、cas区别:


Set无论如何都进行存储 

Add只有数据不存在时进行添加

Replace只有数据存在时进行替换

Cas只有存储版本与cas参数相同时才能进行修改

(3)读取命令
命令格式:

<command name> <key>*\r\n

命令解释:

<key>可以表示一个或多个

get和gets区别:

gets比普通的get多返回一个数字,这个数字可以用作检查数据是否发生改变。当key对应的数据改变的时候,该数会发生改变。这样获取数据时就可以放置获取到旧数据。


(4)删除命令:

命令格式

delete <key> <time>\r\n



(5)查看状态
stats

说明:

1. pid:memcached服务进程的进程ID

2. uptime: memcached服务从启动到当前所经过的时间,单位是秒。

3. time: memcached服务器所在主机当前系统的时间,单位是秒。

4. version: memcached组件的版本。这里是我当前使用的1.4.5

5. pointer_size:服务器所在主机操作系统的指针大小,一般为3264.

6. curr_items:表示当前缓存中存放的所有缓存对象的数量。不包括目前已经从缓存中删除的对象。

7. total_items:表示从memcached服务启动到当前时间,系统存储过的所有对象的数量,包括目前已

经从缓存中删除的对象。

8. bytes:目前实际数据长度(含每条数据的管理信息),已被删掉的数据不会统计进去,单位为字节。

Current numberof bytes used to store items

9. curr_connections:表示当前系统打开的连接数。

10. total_connections:表示从memcached服务启动到当前时间,系统打开过的连接的总数。

11. connection_structures:表示从memcached服务启动到当前时间,被服务器分配的连接结构的数量。

12. cmd_get:累积get数据的数量,这里是17180,因为我测试过17180次。

13. cmd_set:累积set数据的数量,这里是3000

14. get_hits:累计获取数据成功的次数。

15. get_misses:累计获取数据失败的次数。

16. bytes_readmemcached服务器从网络读取的总的字节数。

17. bytes_writtenmemcached服务器发送到网络的总的字节数。

18. limit_maxbytesmemcached服务缓存允许使用的最大字节数。

19. threads:被请求的工作线程的总数量。

20. evictions:为了给新的数据项目释放空间,未过期数据被踢出次数。Number of valid items removed

from cache tofree memory for new items当开始踢出数据,就要考虑扩容,或者业务是否这样设计。

21. reclaimed 新版支持这个统计项,过期数据清除条数,跟evictions相对。



statsslabs

说明:

Stats slabs

包括chunk的大小、数目、使用情况等

statsitems

说明:

显示各个slab 中item 的数目,和最老item 的年龄。
item 的年龄:该item 最后一次访问时间距离现在的秒数。


statscachedump

说明:
查看对应slab 的key 列表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值