memcached简介与安装

最近在研究memcached,所找到的资料绝非一家之言所以没办法标注原文地址请见谅,下文中不少东西是我自己的理解如有错误请大家指出先谢过了:

部分原文地址:

memcached简介

windows安装memcached

linux安装memcached

一,简介

1.背景

memcached是一个高性能,分布式的内存对象缓存系统,感觉它是分布式的所以不像数据库的缓存可以分不到多台服务器上所以有优势,不少网站在用像facebook,youtube,yahoo,sina等。在以用户为中心的网站极其突出,主要是因为这些网站需要大量的查询数据库从而达到数据库瓶颈,导致网站访问过慢,但是添加缓存机制后,查询过的资源会放到缓存里,这样下次就不需要直接访问数据库从而提高响应时间。对于大型网站对于数据库的操作都会进行优化,一般分为两种:

a.读写数据分离,采用主/辅库的方式,来分散数据库的压力,提高查询速度

b.按照业务特点横向或者纵向分割数据库。简单来讲,就是大库变小库,大表变小表,来提高数据库访问的效率。

分布式:所谓分布式系统比较专业的解释是,一种计算机硬件的配置方式和相应的功能配置方式。他是一种多处理器的计算机系统,各处理器通过互联网络构成统一的系统。系统采用分布式计算结构,即把原来系统内中央处理器处理的任务分散给相应的处理器,实现不同功能的各个处理器相互协调,共享系统的外设与软件。这样就加快了系统的处理速度,简化了主机的逻辑结构。

二,安装

1.window安装

memcached<1.4.5版本

1、解压下载的安装包到指定目录。

2、在 1.4.5 版本以前 memcached 可以作为一个服务安装,使用管理员权限运行以下命令:

c:\memcached\memcached.exe -d install

注意:你需要使用真实的路径替代 c:\memcached\memcached.exe。

3、然后我们可以使用以下命令来启动和关闭 memcached 服务:

c:\memcached\memcached.exe -d start
c:\memcached\memcached.exe -d stop

4、如果要修改 memcached 的配置项, 可以在命令行中执行 regedit.exe 命令打开注册表并找到 "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached" 来进行修改。

如果要提供 memcached 使用的缓存配置 可以修改 ImagePath 为:

"c:\memcached\memcached.exe" -d runservice -m 512

-m 512 意思是设置 memcached 最大的缓存配置为512M。

此外我们还可以通过使用 "c:\memcached\memcached.exe -h" 命令查看更多的参数配置。

5、如果我们需要卸载 memcached ,可以使用以下命令:

c:\memcached\memcached.exe -d uninstall

memcached>=1.4.5版本

1、解压下载的安装包到指定目录。

2、在 memcached1.4.5 版本之后,memcached 不能作为服务来运行,需要使用任务计划中来开启一个普通的进程,在 window 启动时设置 memcached自动执行。

我们使用管理员身份执行以下命令将 memcached 添加来任务计划表中:

schtasks /create /sc onstart /tn memcached /tr "'c:\memcached\memcached.exe' -m 512"

注意:你需要使用真实的路径替代 c:\memcached\memcached.exe。

注意:-m 512 意思是设置 memcached 最大的缓存配置为512M。

注意:我们可以通过使用 "c:\memcached\memcached.exe -h" 命令查看更多的参数配置。

3、如果需要删除 memcached 的任务计划可以执行以下命令:

schtasks /delete /tn memcached

2.linux安装

一、下载  
1. Libevent  
简单的说就是一个事件触发的网络库,Memcached离不开它。 
Shell代码   收藏代码
  1. wget http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.17-stable.tar.gz  

2. Memcached  
今天的主角 
Shell代码   收藏代码
  1. wget http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz  

二、安装  
1. Libevent  
解压缩 
Shell代码   收藏代码
  1. tar zxvf libevent-2.0.17-stable.tar.gz  

编译、安装 
Shell代码   收藏代码
  1. ./configure --prefix=/usr && make && make install   

这里一定要注意指定 --prefix ,后面配置memcached的时候就有必要用到。 
2. Memcached  
解压 
Shell代码   收藏代码
  1. tar zxvf memcached-1.4.13.tar.gz  

编译、安装 
Shell代码   收藏代码
  1. ./configure --with-libevent=/usr/lib && make && make install  

这里一定要指定 libevent 的路径,否则启动的时候就有找不到libevent的so文件的错误! 
启动 
Shell代码   收藏代码
  1. memcached -d -m 512 -p 11211 -u root -c 256 -P /var/run/memcached.pid  

参数 
引用

-p <num>      TCP port number to listen on (default: 11211) 
-U <num>      UDP port number to listen on (default: 11211, 0 is off) 
-l <addr>     interface to listen on (default: INADDR_ANY, all addresses) 
              <addr> may be specified as host:port. If you don't specify 
              a port number, the value you specified with -p or -U is 
              used. You may specify multiple addresses separated by comma 
              or by using -l multiple times 
-d            run as a daemon 
-u <username> assume identity of <username> (only when run as root) 
-m <num>      max memory to use for items in megabytes (default: 64 MB) 
-M            return error on memory exhausted (rather than removing items) 
-c <num>      max simultaneous connections (default: 1024) 
-v            verbose (print errors/warnings while in event loop) 
-P <file>     save PID in <file>, only used with -d option 

要关掉memcached 
Shell代码   收藏代码
  1. kill -9 `cat /var/run/memcached.pid`    

是否正常?Telnet上去看看 
Shell代码   收藏代码
  1. telnet xxx.xxx.xxx.xxx 11211  

然后输入
Shell代码   收藏代码
  1. stats  

接着就能看到: 
引用

STAT pid 3021 
STAT uptime 3621 
STAT time 1331261509 
STAT version 1.4.13 
STAT libevent 2.0.17-stable 
STAT pointer_size 64 
STAT rusage_user 0.000000 
STAT rusage_system 0.000999 
STAT curr_connections 6 
STAT total_connections 7 
STAT connection_structures 7 
STAT reserved_fds 20 
STAT cmd_get 0 
STAT cmd_set 0 
STAT cmd_flush 0 
STAT cmd_touch 0 
STAT get_hits 0 
STAT get_misses 0 
STAT delete_misses 0 
STAT delete_hits 0 
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 72 
STAT bytes_written 1038 
STAT limit_maxbytes 52428800 
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 0 
STAT curr_items 0 
STAT total_items 0 
STAT evictions 0 
STAT reclaimed 0 
END 

上面状况说明Memcached服务正常。 
还可以试试get、set、delete、replace 
引用
set foo 0 0 3     (保存命令) 
bar               (数据) 
STORED            (结果) 
get foo           (取得命令) 
VALUE foo 0 3     (数据) 
bar               (数据)


输入
Shell代码   收藏代码
  1. quit  
退出。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值