PHP-memcahce概念

最近做仿ecshop前后台商城项目时候,要考虑到多次从数据库提取商品信息,为了提高访问速度和减少数据库压力,用memcached来提高访问速度,这里也简单记录,介绍下MemCache。

memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著[1]  。这是一套开放源代码软件,以BSD license授权发布。
  • MemCache的工作流程如下:先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现);每次更新数据库的同时更新memcached中的数据,保证一致性;当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。
  • 在 Memcached中可以保存的item数据量是没有限制的,只要内存足够 。
      Memcached单进程在32位系统中最大使用内存为2G,若在64位系统则没有限制,这是由于32位系统限制单进程最多可使用2G内存,要使用更多内存,可以分多个端口开启多个Memcached进程 ,
      最大30天的数据过期时间,设置为永久的也会在这个时间过期,常量REALTIME_MAXDELTA
     
    引用参考:http://blog.csdn.net/sd0902/article/details/16847623?locationNum=2&fps=1

安装方法【window】
http://sishuok.com/forum/blogPost/list/3083.html
http://www.cnblogs.com/freshman0216/archive/2013/01/19/2867994.html
将memcache服务器安装包解压到C:\memcached文件夹后,使用cmd命令窗口安装。
1>开始>运行:CMD(确定)
2>cd C:\memcached(回车)
3>memcached -d install(回车 这步执行安装)
4>memcached -d start(回车 这步执行启动memcache服务器,默认分配64M内存,使用11211端口)
此时memcache服务器已经可以正常使用了。

【Linux】
参考【http://my.oschina.net/flynewton/blog/9694
下载地址
memcached下载地址:http://www.danga.com/memcached/dist/memcached-1.4.0.tar.gz
Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent。(如果你的系统已经安装了libevent,可以不用安装)
官网:http://www.monkey.org/~provos/libevent/

  1. 首先下载memcached 和 libevent 包。 Memcached用到了libevent这个库用于Socket的处理。下面是下载的两个包文件:
    libevent-1.4.14b-stable.tar.gz
    memcached-1.4.0.tar.gz
  2. 上传这两个包到/scmgt/memcache目录(自建目录)下。
  3. 解压并安装:
    tar -zxf libevent-1.4.14b-stable.tar.gz
    tar -zxf memcached-1.4.0.tar.gz
    cd libevent-1.4.14b-stable
###########./configure –prefix=/usr (./configure -prefix=/usr) (–prefix=/gt/lib)

【如果usr没有权限就 ./configure –prefix=/scmgt/memcache/lib】
make && make install
cd ../ memcached-1.4.0

###########./configure –with-libevent=/usr

【如果usr没有权限就 ./configure –prefix=/scmgt/memcache/lib –with-libevent=/scmgt/memcache/lib】
make && make install
4. 启动Memcached
完成上述操作后,memcached被安装/usr/local/bin/【/scmgt/memcache/lib/bin】目录下。启动Memcache的服务器的命令:
/scmgt/memcache/lib/bin/memcached -d -m 1024 -u scmgt -l 10.25.193.16 -p 11211 -c 256 -P /scmgt/memcache/memcached.pid
【xx用法 ./memcached -d -m 2048 -p 11211】
参数说明:
-d 选项是启动一个守护进程,
-m 是分配给Memcache使用的内存数量,单位是MB,这里是1GB,
-u 是运行Memcache的用户,这里是root,
-l 是监听的服务器IP地址,如果有多个地址的话,以逗号隔开。这里指定了服务器的IP地址192.168.13.236,
-p 是设置Memcache监听的端口,我这里设置了12001,最好是1024以上的端口,
-c 选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P 是设置保存Memcache的pid文件,我这里是保存在 /tmp/chenxinhan/memcached.pid,
5. 结束Memcache进程,执行:
kill cat /tmp/chenxinhan/memcached.pid
或者:
ps -aux | grep memcache
然后直接kill掉memcache进程。
6. 可以启动多个守护进程,但是端口不能一样。这样就可以在一台机器上拥有多个Memcached
7:增加到开机启动
# vi /etc/rc.local
增加:/usr/local/memcacheq/bin/memcacheq -d -r -uroot -p11212 -H /var/mcq/data -N -R -v -L 1024 -B 1024 > /var/mcq/logs/mq_error.log 2>&1

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值