前言:memcached的介绍

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

对于强化版的memcached:Redis,在我的前两篇博客有介绍到它的安装和使用:Redis在Centos7上的安装部署 、Centos7下安装php-redis扩展及简单使用,如果大家想了解memcached和redis的异同和在什么情况下我们应该怎么选择缓存系统,以下这篇博客相信对大家会有一个很好的启发:缓存技术PK:选择Memcached还是Redis?,感谢这篇博客的作者的精辟分析。

在本篇博客中,我会带领大家在Centos7下安装和使用memcached。

步骤一:memcached的安装

memcached的安装包括:1、服务端的安装;2、客户端的安装

1、服务端的安装:

在这里,由于用编译安装memcached服务端过于复杂,因此我选用依赖管理工具 yum 来实现 memcached 的服务端安装:

[root@localhost /]# yum install -y memcached

-y 表示自动应答,即默认安装所有需要用到的依赖包

在这一步之后,我们就安装完了。

我们尝试去启动一下memcached:

[root@localhost /]# /usr/bin/memcached -b -l 127.0.0.1 -p 11211 -m 150 -u root

-b 守护进程模式(退出终端窗口之后使程序还在运行),-l 指定IP地址127.0.0.1 ,-p 指定端口号11211,-m 为memcached分配多少内存(单位:M),-u 指定使用哪个用户启动memcached

查看memcached是否在运行:

[root@localhost /]# ps -ef | grep memcached
//或
[root@localhost /]# pstree -p | grep memcached

如果能够看到存在memcached进程,那就说明我们的 memcached 服务端已经安装成功了。

2、客户端的安装

客户端的安装又分为两步:1、libmemcached 客户端库的安装;2、为PHP安装 php-memcached 扩展

现在我们先来下载后面安装所需要的两个安装包

[root@localhost /]# cd /usr/local/src   #我的所有源码包习惯放在该目录下
[root@localhost src]# wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz  #下载libmemcached源码包
[root@localhost src]# wget http://pecl.php.net/get/memcached-2.2.0.tgz  #下载memcached源码包
[root@localhost src]# ls
libmemcached-1.0.18.tar.gz  memcached-2.2.0.tgz

1、libmemcached 客户端库的安装:

首先解压 libmemcached-1.0.18.tar.gz、配置

[root@localhost src]# tar -zxvf libmemcached-1.0.18.tar.gz
[root@localhost src]# cd libmemcached-1.0.18/
[root@localhost libmemcached-1.0.18]# ./configure --prefix=/usr/lib/libmemcached

–prefix 指定安装目录,该目录我们后面会用到

编译、安装:

[root@localhost libmemcached-1.0.18]# make && make install

2、为PHP安装 php-memcached 扩展

首先解压 libmemcached-1.0.18.tar.gz、配置

[root@localhost libmemcached-1.0.18]# cd ..
[root@localhost src]# tar -zxvf memcached-2.2.0.tgz
[root@localhost src]# cd cd memcached-2.2.0

到了这一步,我们要使用安装php时生成的 phpize 来生成 configure 配置文件

[root@localhost memcached-2.2.0]# /usr/local/php/bin/phpize (或 /usr/bin/phpize)
//具体用哪个要取决于你的phpize文件所在的目录,这时你应该用 whereis phpize 来查看路径,如果php是默认安装的话,直接使用phpize即可

配置

[root@localhost memcached-2.2.0]# ./configure -with-php-config=/usr/bin/php-config --with-libmemcached-dir=/usr/lib/libmemcached --disable-memcached-sasl

-with-php-config 指定 php-config,该文件与 phpize 所在目录相同,
–with-libmemcached-dir 指定 libmemcached 安装目录,就刚才我们 –prefix 那个目录 ,–disable-memcached-sasl 说明我们系统不支持sasl.h

编译、安装

[root@localhost memcached-2.2.0]# make && make install

如果安装成功,会提示:Installing shared extension:/usr/local/php/lib/extensions/no-debug-non-zts-20160524/ 等类信息

接下来,我们编辑php配置文件php.ini,你可以用 whereis php.ini 查看所在位置(我的在 /etc/php.ini ),把 php-memcached 扩展加到配置文件。

在 php.ini 中添加以下内容:

extension=memcached.so

步骤二:重启apache服务器,使配置生效

[root@localhost memcached-2.2.0]# systemctl restart httpd.service

重启完之后,检查是否安装完成php-memcached扩展

[root@localhost memcached-2.2.0]# echo "<?php echo phpinfo() ?>">>/home/www/index.php(这里web目录如果没改的话是在 /var/www/html/)

在浏览器地址栏输入 127.0.0.1,查看php扩展,如果有以下图片所示,则表示安装成功:


当然,更方便的方法是用 php -m

上面都说明了我们已经成功的将 memcached 加入到 php 扩展中了

步骤三:使用 php 简单操作 memcached

其实 memcached 和 redis 、mysql 是没什么两样,同是数据库,(redis是非关系数据库,mysql是关系数据库),因此使用也是差不多的,同样具有命令行使用和php操作使用,关于memcached的更多命令大家可以自行百度。

<?php$m = new Memcached();//实例化Memcached类$arr = array(array('127.0.0.1',11211););$m->addServers($arr);$m->set('name','lsgogroup',3600);//设置缓存值,有效时间3600秒,如果有效时间设置为0,则表示该缓存值永久存在的(系统重启前)$m->get('name');//读取缓存值$m->delete('name');//删除缓存值?>

redis命令远不止上面所说的,这里只做简单的使用

本博客基本上是参考自慕课网:近距离探索memcache缓存,如果大家想比较详细的了解安装过程和使用memcached,可以去看这些视频,相信大家会收获匪浅。

Centos7下关于memcached的安装和简单使用相关推荐

  1. CentOS7下使用yum快速安装配置oracle数据库

    2019独角兽企业重金招聘Python工程师标准>>> CentOS7下使用yum快速安装配置oracle数据库 2017年10月10日 15:29:23 aladdin_sun 阅 ...

  2. Centos7下使用rpm包安装mysql5.6数据库

    Centos7下使用rpm包安装mysql5.6数据库 环境 [root@mysql01 ~]# uname -r 3.10.0-514.el7.x86_64 [root@mysql01 ~]# ca ...

  3. SVN CentOS7 下配置svn的安装及基础配置介绍

    CentOS7 下配置svn的安装及基础配置介绍 by:授客 QQ:1033553122 目录 一.         实践环境... 1 二.         安装操作系统... 1 三.       ...

  4. Linux 下的 pstack 工具安装及简单应用

    作者 | JiekeXu 来源 | JiekeXu之路(ID: JiekeXu_IT) 转载请联系授权 | (微信ID:xxq1426321293) 大家好,我是 JiekeXu,很高兴又和大家见面了 ...

  5. CentOS7下源码编译安装MySQL5.6.4

    CentOS7下源码编译安装MySQL5.6.4 写这篇博客的主要原因是:请看上一篇博客:CentOS7下更改MySQL5.6.4默认的数据存储位置.对,当初通过rpm安装的mysql5.6.4,一切 ...

  6. centos7下没有iptables进行安装或更新

    从centos7开始使用linux,之前版本的没有深入了解过,今天要开放个端口,需要有防火墙的相关操作,从网上查资料都是编辑/etc/sysconfig目录下面的iptables文件,可我进入这个文件 ...

  7. centos7 访问php页面显示源码_运维干货分享:centos7下源码编译安装php-7.1.5(脚本)...

    PHP简介: PHP是一种创建动态交互性站点的强有力的服务器端脚本语言.PHP是目前动态网页开发中使用最为广泛的语言之一.PHP能运行在包括Windows.Linux等在内的绝大多数操作系统环境中. ...

  8. 7.1 pdo 宝塔面板php_运维干货分享:centos7下源码编译安装php-7.1.5(脚本)

    PHP简介: PHP是一种创建动态交互性站点的强有力的服务器端脚本语言.PHP是目前动态网页开发中使用最为广泛的语言之一.PHP能运行在包括Windows.Linux等在内的绝大多数操作系统环境中. ...

  9. CentOS7 下配置svn的安装及基础配置介绍

    一.         实践环境 二.         安装操作系统 三.         安装SVN 四.         基础配置 五.         启动SVN 六.         客户端访问 ...

最新文章

  1. 通过异或运算符加密解密 难度二星
  2. modulenotfounderror: no module 或modulenotfounderror: no module named 'matplotlib._path' 原因详解及解决办法
  3. Java Proxy和CGLIB动态代理原理
  4. SQLite中不支持的sql语法
  5. 计蒜客NOIP模拟D1T2
  6. 事务并发、事务隔离级别
  7. Virtual Serial Port Driver虚拟串口vspd v7.2 下载及破解方法
  8. JAVA程序员基本功:开发实现类隐藏及应用
  9. Selenium2+python自动化8-SeleniumBuilder辅助定位元素
  10. 读写文件RandomAccessFile
  11. bootstrap 图标和文字对齐
  12. 小数保留4位_实验结果保留几位有效数字?
  13. 问卷及量表统计与SPSS实战
  14. 麒麟linux怎么安装软件,中标麒麟Linux操作系统怎么安装软件?
  15. html调用ckplayer说明,CKplayer功能配置(示例代码)
  16. 2022云管和云网大会|《云容灾白皮书2022》发布,万博智云参与撰写
  17. 2019年中国计算机学会(CCF)推荐国际学术会议-计算机网络(2019.04.25)
  18. 机器学习sklearn-线性回归
  19. 十张图,看数据分析如何赋能销售
  20. #AMBER 分子动力学软件Amber18介绍与基础教程(持续更新)

热门文章

  1. 集成学习:lightGBM(一)
  2. 商标注册申请的材料与流程
  3. 10天GMV破500万,品牌在快手的经营方法论是什么?
  4. 服务器运维相关知识,服务器维护的基础知识(上)
  5. 抖音IP属地是实时更新的吗?能不显示吗?
  6. 与人交往总是能学到一些东西的
  7. JAVA面试(不同类型的公司特点)
  8. 隐藏隧道通信:HTTP/HTTPS 代理转发
  9. 对象拼接 请求路径_Tensorflow Rust实战下篇[整合actix-web提供http服务]
  10. 顶尖高校【中国科学院大学】公布3届毕业生深造及就业情况!