php memcache管理工具,memcache的功能和配置使用以及基于web界面管理方式

memcache的现今架构设计中不可或缺的一环,主要功能是缓解数据库的读取压力,缓存查询结果。官方定义是

Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.

Memcached is simple yet powerful. Its simple design promotes quick deployment, ease of development, and solves many problems facing large data caches. Its APIis available for most popular languages.

Memcached是一款开源、高性能、分布式内存对象缓存系统,可应用各种需要缓存的场景,其主要目的是通过降低对Database的访问来加速web应用程序。它是一个基于内存的“键值对”存储,用于存储数据库调用、API调用或页面引用结果的直接数据,如字符串、对象等。

可以说memcached可以兼容大部分主流语言,现今的主流网站如twitter,youtube等都采用了memcached。

1. 简单key/value存储:服务器不关心数据本身的意义及结构,只要是可序列化数据即可。存储项由“键、过期时间、可选的标志及数据”四个部分组成;

2. 功能的实现一半依赖于客户端,一半基于服务器端:客户负责发送存储项至服务器端、从服务端获取数据以及无法连接至服务器时采用相应的动作;服务端负责接收、存储数据,并负责数据项的超时过期;

3. 各服务器间彼此无视:不在服务器间进行数据同步;

4. O(1)的执行效率

5. 清理超期数据:默认情况下,Memcached是一个LRU缓存,同时,它按事先预订的时长清理超期数据;但事实上,memcached不会删除任何已缓存数据,只是在其过期之后不再为客户所见;而且,memcached也不会真正按期限清理缓存,而仅是当get命令到达时检查其时长;

Memcached提供了为数不多的几个命令来完成与服务器端的交互,这些命令基于memcached的协议实现。

存储类命令:set, add, replace, append, prepend

获取数据类命令:get, delete, incr/decr

统计类命令:stats, stats items, stats slabs, stats sizes

清理命令: flush_all

安装memcached

memcached安装以来与libevent 首先安装libevent,下载官网 />

[root@node1 tony]# tar -xf libevent-2.0.22-stable.tar.gz

[root@node1 tony]# cd libevent-2.0.22-stable

[root@node1 libevent-2.0.22-stable]# ./configure --prefix=/usr/local/libevent

[root@node1 libevent-2.0.22-stable]# make && make install

编译安装完成

安装memchached

官网下载最新版本memecached

[root@node1 Downloads]# wget files/memcached-1.4.24.tar.gz

[root@node1 Downloads]# tar -xf memcached-1.4.24.tar.gz

[root@node1 Downloads]# cd memcached-1.4.24

[root@node1 memcached-1.4.24]# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/

[root@node1 memcached-1.4.24]# make && make install

ok安装完成

进入memcached主目录

[root@node1 memcached]# ls

bin  include  share

[root@node1 memcached]# cd bin/

[root@node1 bin]# ls

memcached

memcached比较简单只有一个命令

查看帮助命令,常用的选项有以下几个

-l :指定进程监听的地址;

-d: 以服务模式运行;

-u :以指定的用户身份运行memcached进程;

-m :用于缓存数据的最大内存空间,单位为MB,默认为64MB;

-c :最大支持的并发连接数,默认为1024;

-p : 指定监听的TCP端口,默认为11211;

-U :指定监听的UDP端口,默认为11211,0表示关闭UDP端口;

-t :用于处理入站请求的最大线程数,仅在memcached编译时开启了支持线程才有效;

-f :设定Slab Allocator定义预先分配内存空间大小固定的块时使用的增长因子;

-M:当内存空间不够使用时返回错误信息,而不是按LRU算法利用空间;

-n: 指定最小的slab chunk大小;单位是字节;

-S: 启用sasl进行用户认证;

memcahced的命令行工具可使用telnet连接11211端口进行通信操作

使用最简单的/usr/local/memcahced/bin/memcached -u nobody -d 启动memcached其他参数默认

[root@node1 bin]# netstat -tunlp | grep memcached

tcp        0      0 0.0.0.0:11211               0.0.0.0:*                   LISTEN      10181/memcached

tcp        0      0 :::11211                    :::*                        LISTEN      10181/memcached

udp        0      0 0.0.0.0:11211               0.0.0.0:*                               10181/memcached

udp        0      0 :::11211                    :::*                                    10181/memcached

查看memcahced服务已启动

[root@node1 bin]# telnet localhost 11211

Trying ::1...

Connected to localhost.

Escape character is '^]'.

stats

STAT pid 10181

STAT uptime 133

STAT time 1436754534

STAT version 1.4.24

进入接口使用stats就可查看当前服务状态

使用add等命令就可以增加一个键等等

安装php支持memcache  下载地址我用的是rpm包安装的php程序,源码安装要指定源码路径

[root@node1 memcache-2.2.7]# tar -xf memcache-2.2.7.tgz

[root@node1 memcache-2.2.7]# cd memcache-2.2.7

[root@node1 memcache-2.2.7]# /usr/bin/phpize

Configuring for:

PHP Api Version:         20090626

Zend Module Api No:      20090626

Zend Extension Api No:   220090626

[root@node1 memcache-2.2.7]# ./configure --with-php-config=/usr/bin/php-config --enable-memcache

make && make install

安装完最后一行出现Installing shared extensions:     /usr/lib64/php/modules/

编辑/etc/php.d/memcahce.ini加入extensions不过我发现源码的php会自动创建编辑这个文件

ok安装完成php对memcahed的扩展

用测试页查看是否支持memcached

0c2a5a69176064a8289ea7149609b573.png

只要看到这个就ok

但是通常用命令行可能不会是很方便,于是就有memadmin这个基于gui的图形化管理工具

memadmin安装也很简单,下载解压后复制到相应的web目录下

cp -r memadmin /usr/local/nginx/html/

[root@www memadmin]# ls

apps  config.php  images  include  index.php  langs  LICENSE.txt  README.txt  views

直接浏览器中访问就可以访问

671d69295df1b5aac77d4f7ea0f44ae5.png

e67207738fc72810a1412888dd0c90c3.png

086b390010866855f2735a2d962a4b59.png

这样安装完成可以在图形界面中做memcahced相关操作了。

感谢马哥教育()提供的精湛的技术总结。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值