Memcached的安装和使用以及nginx整合memcached

一、模块的安装启动

wget http://cdnetworks-kr-2.d1.sourceforge.net/project/levent/libevent/libevent-2.0/libevent-2.0.10-stable.tar.gz
wget http://nchc.dl.sourceforge.net/project/levent/libevent/libevent-2.0/libevent-2.0.22-stable.tar.gz

libevent
./configure
make
make install

vim /etc/ld.so.conf

/usr/local/libevent-2.0.22/lib/
ldconfig

wget http://memcached.org/files/memcached-1.4.25.tar.gz
小伙伴们FQ吧
tar xvf memcached-1.4.25.tar.gz

http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt 文档

cd /usr/local/memcached-1.4.25/bin/

LD_DEBUG=libs /usr/local/memcached-1.4.25/bin/memcached -v

./memcached -d -m 10 -u nobody
./memcached -d -m 10 -u nobody -p 11212 -U 11213
./memcached -d -m 10 -u nobody -p 11212 -U 11213 -s /tmp/memcached.socket 套接字路径
./memcached -d -m 10 -u nobody -p 11212 -U 11213 -l 192.168.3.139 监听的ip地址

-p TCP监听端口; -U UDP监听端口;-s 指定Unix套接字的路径; -a Unix套接字的掩码;-l 指定监听的网络端口;
-d 作为守护进程; -r 内核文件的最大值限制; -u 指定的用户运行; -m 缓存条目的最大内存值; -M在内存耗尽时返回错误(而不是删除缓存条目); -c 限制同时的最大连接数;-k 锁定所有分页内存; -v 详细模式; -vv 非常详细的模式; -vvv极其详细的模式; -h打印帮助并退出; -i 打印Memcached和libevent许可; -P 指定保存PID文件的路径及文件名; -f 设置块大小的增长因子; -n 指定分配给key+value+flags的最小空间; -L尽量使用最大内存页; -D指定分隔符; -t使用的线程数; -R 通过该参数来设定限制值; -C禁止使用CAS; -b设置等待(积压)队列的限制; -B 设置绑定的协议; -I 设定每一个块页的大小;

[[email protected] bin]# ps -ef | grep memcached
nobody 20524 1 0 19:34 ? 00:00:00 ./memcached -d -m 10 -u nobody -p 11212 -U 11213
root 20531 9071 0 19:34 pts/0 00:00:00 grep memcached
[[email protected] bin]# lsof -p 20524
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
memcached 20524 nobody cwd DIR 8,3 4096 2 /

二、其他模块的安装

测试 telnet 192.168.15.134 11211
(1)damemtop
perl 模块:perl Makefile.PL; make ; make install;
AnyEvent http://search.cpan.org/dist/AnyEvent/lib/AnyEvent.pm
http://www.cpan.org/authors/id/M/ML/MLEHMANN/AnyEvent-7.11.tar.gz

YAML http://www.cpan.org/modules/by-module/YAML/
http://www.cpan.org/modules/by-module/YAML/YAML-1.15.tar.gz

TermReadKey http://pkgs.repoforge.org/perl-TermReadKey/

cp damemtop.yaml /etc/

(2)memcached-init start-memcached

start-stop-daemon http://developer.axis.com/download/distribution/apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz
gcc start-stop-daemon.c -o start-stop-daemon
cp start-stop-daemon /bin/

(3)memcached.sysv
718 cp memcached.sysv /etc/init.d/memcached_sysv
719 chkconfig --list | grep memcached_sysv
720 chkconfig --add | grep memcached_sysv
721 chkconfig --add memcached_sysv
722 chkconfig --list | grep memcached_sysv
723 chkconfig --level 35 memcached_sysv on
724 chkconfig --list | grep memcached_sysv

(4)memcached-tool
735 ./memcached-tool 127.0.0.1:11211 display
736 ./memcached-tool 127.0.0.1:11211
737 ./memcached-tool 127.0.0.1:11211 stats
738 ./memcached-tool 127.0.0.1:11211 dump

三 、操作方法
<command name> <key> <flags> <exiptme> <bytes> [noreply]\r\n

cas <key> <flags> <exptime> <bytes> <cas unique> [noreply]\r\n

set存储指定数据;
add在没有该<key>的情况下存储数据;
replace在有该<key>的情况下存储数据;
append追加数据到尾部;
prepend追加数据到首部;
incr/decr 增加或减少某值

set a 36 0 5
12345

get a

add a 36 0 5
abcde

delete a

stats

stats slabs

stats items

flush_all //缓存刷新失效

flush_all 120 //120秒后缓存刷新失效

incr a 11 //增加或减少某值,不能对非数字的value操作
decr a 11

四、统计

stats items
STAT items:1:number 6
STAT items:1:age 1161
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
STAT items:1:crawler_reclaimed 0
STAT items:1:crawler_items_checked 0
STAT items:1:lrutail_reflocked 0

number 目录在这个类型存储下的条目
age 在算法LRU下, 最老条目经历的时间;
evicted 在生存期满之前,才算法LRU中一个条目不得不被驱赶出缓存的次数;
outofmemory: 该slabclass不能够存储新条目的次数。这种情况一般出现在启动Memcached服务器时使用了-M参数,或是在清楚条目时失败所致。

stats sizes
STAT 96 7
STAT <条目大小> <条目数量>

五、nginx的编译
yum install -y zlib-devel gcc gcc-c++
编译nginx(略)
nginx的配置如下:

    server {
        location / {
            set $memcached_key $uri;
            memcached_pass 127.0.0.1:11211;
            memcached_buffer_size 16k;
            memcached_read_timeout 30000;
            memcached_send_timeout 30000;
            default_type text/html;
            #error_page 404 @fallback;
        }

        location @fallback {
            proxy_pass http://192.168.3.139:8080;
        }
 }

时间: 2024-10-09 08:30:46

Memcached的安装和使用以及nginx整合memcached的相关文章

Memcached的安装及应用

Memcached是一款开源.高性能.分布式内存对象缓存系统,可应用各种需要缓存的场景,其主要目的是通过降低对Database的访问来加速web应用程序.它是一个基于内存的"键值对"存储,用于存储数据库调用.API调用或页面引用结果的直接数据,如字符串.对象等. Memcached是以LiveJournal旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件.现在已成为mixi.hatena.Facebook.Vox.LiveJournal等

基于libmemcached,php扩展memcached的安装

基于libmemcached,php扩展memcached的安装 张映 发表于 2010-07-18 分类目录: php 标签:libmemcached, memcached, php, 安装 一,为什么要装memcached扩展 memcached的1.2.4及以上增加了CAS(Check and Set)协议,对于同一key的多进行程的并发处理问题.这种情况其实根数据库很像,如果同时有几个进程对同一个表的同一数据进行更新的话,那会不会打架呢,哈哈.数据库里面可以锁定整张表,也可以锁定表里面一

php5.3 fastcgi方式 安装以及和nginx整合

php5.3 fastcgi方式 安装以及和nginx整合 注意:不要随便改变基础库的版本,否则会对别的软件产生编译错误 1.基础依赖包安装: cd /software/zlib-1.2.3./configuremakemake install cd /software/libxml2-2.6.30./configure --prefix=/usr/local/libxml2/make make install  cd /software/libmcrypt-2.5.8./configure -

CentOS下的Memcache安装步骤(Linux+Nginx+PHP+Memcached)

一.源码包准备 服务器端主要是安装memcache服务器端下载:http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent, libevent的最新版本是libevent-1.4.13-stable.(如果你的系统已经安装了libevent,可以不用安装)官网:http://www.monkey.org/~provos/libeve

nginx+PHP+memcached+MySQL+ip-hash做memcached集群

1.nginx与memcached整合 #安装memcached支持的事务库libevent wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz tar zxf libevent-2.0.22-stable.tar.gz  cd libevent-2.0.22-stable ./configure --prefix=/usr/

Nginx+Tomcat+Memcached集群Session共享

提供给大家整合实例: http://download.csdn.net/detail/zld1987/9577962 cookie是怎样工作的? 例如,我们创建了一个名字为login的Cookie来包含访问者的信息,创建Cookie时,服务器端的Header如下面所示,这里假设访问者的注册名是"Michael Jordan",同时还对所创建的Cookie的属性如path.domain.expires等进行了指定. Set-Cookie:login=Michael Jordan;path

Nginx+Tomcat+Memcached部署

通常我们企业也会使用JSP来发布动态网页,那么我们怎样将他们很好的整合,使用一台http服务器对外发布呢?这个时候我们就可以使用Nginx作为前端服务器来对Tomcat进行调度和负载,同时基于jsp的动态特征,我们将引入memcached来保持网页在链接过程中的session同步问题. 主机角色:node1:192.168.20.101        tomcat        memcached         node2: 192.168.20.102        tomcat     

Nginx+Tomcat+Memcached部署应用

通常我们企业也会使用JSP来发布动态网页,那么我们怎样将他们很好的整合,使用一台http服务器对外发布呢?这个时候我们就可以使用Nginx作为前端服务器来对Tomcat进行调度和负载,同时基于jsp的动态特征,我们将引入memcached来保持网页在链接过程中的session同步问题. 主机角色:node1:192.168.20.101 tomcat memcached node2: 192.168.20.102 tomcat memcached nginx 注意:两台node上的tomcat应

手把手让你实现开源企业级web高并发解决方案(lvs+heartbeat+varnish+nginx+eAccelerator+memcached)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://freeze.blog.51cto.com/1846439/677348 此文凝聚笔者不少心血请尊重笔者劳动,转载请注明出处.违法直接人肉出电话 写大街上. http://freeze.blog.51cto.com/个人小站刚上线 http://www.linuxwind.com 有问题还可以来QQ群89342115交流. 今儿网友朋友说:freeze黔驴技穷了,博客也不更新,也