linux下memcache如何安装配置

基本原理:

① 客户端第一次访问应用程序时,会到数据库(rdbms)中取出数据,返回给客户端;同时也将取出的数据保存到memcached中。
② 第二次访问时,因为数据已经缓存,就不用去数据库查询了,直接从memcached中取。

rdbms是文件型的数据库,最终还是以文件的形式保存在磁盘上;而memcached则不一样,它是key:value关系型的数据库,是保存在内存中的。内存的读写速度要比磁盘的读写速度快得多,前者是后者的10的6次方倍。

memcached是基于libevent的事件处理。libevent是个程序库,它将linux的epoll、bsd类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥o(1)的性能。 memcached使用这个libevent库,因此能在linux、bsd、solaris等操作系统上发挥其高性能。关于事件处理这里就不再详细介绍,可以参考dan kegel的the c10k problem。

编译安装memcached

1、由于memcached是基于libevent的,因此需要安装libevent,libevent-devel

# yum install libevent libevent-devel -y

2、下载并解压memcached-1.4.6.tar.gz

memcached官方网站是:
# tar -xvzf memcached-1.4.6.tar.gz

3、编译安装memcached-1.4.6

# cd memcached-1.4.6
# ./configure –prefix=/etc/memcached
# make
# make install

4、配置环境变量(这一步可忽略…)

进入用户宿主目录,编辑.bash_profile,为系统环境变量ld_library_path增加新的目录,需要增加的内容如下:
# vi .bash_profile
memcached_home=/etc/memcached
export ld_library_path=$ld_library_path:$memcached_home/lib
刷新用户环境变量:# source .bash_profile

5、编写memcached服务启停脚本

# cd /etc/init.d
vi memcached,脚本内容如下:

#!/bin/sh## startup script for the server of memcached## processname: memcached# pidfile: /etc/memcached/memcached.pid# logfile: /etc/memcached/memcached_log.txt# memcached_home: /etc/memcached# chkconfig: 35 21 79# description: start and stop memcached service# source function library. /etc/rc.d/init.d/functionsretval=0prog="memcached"basedir=/etc/memcachedcmd=${basedir}/bin/memcachedpidfile="$basedir/${prog}.pid"#logfile="$basedir/memcached_log.txt"ipaddr="192.168.1.200"  # 绑定侦听的ip地址port="11211"  # 服务端口username="root" # 运行程序的用户身份max_memory=64  # default: 64m | 最大使用内存max_simul_conn=1024 # default: 1024 | 最大同时连接数#maxcon=51200#growth_factor=1.3 # default: 1.25 | 块大小增长因子#thread_num=6  # default: 4#verbose="-vv"  # 查看详细启动信息#bind_protocol=binary  # ascii, binary, or auto (default)start() {echo -n $"starting service: $prog"$cmd -d -m $max_memory -u $username -l $ipaddr -p $port -c $max_simul_conn -p $pidfileretval=$?echo[ $retval -eq 0 ] && touch /var/lock/subsys/$prog}stop() {echo -n $"stopping service: $prog "run_user=`whoami`pidlist=`ps -ef | grep $run_user | grep memcached | grep -v grep | awk '{print($2)}'`for pid in $pidlistdo#  echo "pid=$pid"kill -9 $pidif [ $? -ne 0 ]; thenreturn 1fidoneretval=$?echo[ $retval -eq 0 ] && rm -f /var/lock/subsys/$prog}# see how we were called.case "$1" instart)start;;stop)stop;;#reload)#reload#;;restart)stopstart;;#condrestart)#if [ -f /var/lock/subsys/$prog ]; then#stop#start#fi#;;status)status memcached;;*)echo "usage: $0 {start|stop|restart|status}"exit 1esacexit $retval

6、赋予执行权限
#chmod +x memcached

琅琅配音 琅琅配音

全能AI配音神器

琅琅配音 208 查看详情 琅琅配音

7、设置memcached随系统启动

# chkconfig –add memcached
# chkconfig –level 35 memcached on
启动memcached
# service memcached start
//启动的时候实际上是调用了下面的这个命令,以守护进程的方式来启动memcached
/etc/memcached/bin/memcached -d -m 64 -u root -l 192.168.1.201
-p 11211 -c 1024 -p /etc/memcached/memcached.pid

查看memcached是否启动
# ps -ef | grep memcached

安装memcache的php扩展

1.在 选择相应想要下载的memcache版本。

2.安装php的memcache扩展

tar vxzf memcache-2.2.5.tgz
cd memcache-2.2.5
/usr/local/php/bin/phpize
./configure –enable-memcache –with-php-config=/usr/local/php/bin/php-config –with-zlib-dir
make
make install

3.上述安装完后会有类似这样的提示:

installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/

4.把php.ini中的extension_dir = “./”修改为

extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/”

5.添加一行来载入memcache扩展:extension=memcache.so

接下来重启php就可以了,可以通过phpinfo测试页面查看

以上就是linux下memcache如何安装配置的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/244643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月4日 03:03:07
下一篇 2025年11月4日 03:04:04

相关推荐

  • Linux下PHPmailer发送邮件报错502 Bad Gateway如何解决?

    在Linux环境下使用PHPmailer发送邮件时,遇到502 Bad Gateway错误,这通常并非PHPmailer库自身问题,而是服务器端配置或资源限制导致的。本文将指导您如何排查和解决此问题。 502 Bad Gateway错误是Web服务器(如Apache或Nginx)返回的,表示服务器在…

    2025年12月10日
    000
  • Linux服务器下PHPMailer发送邮件遇到502 Bad Gateway错误如何解决?

    在Linux服务器上使用PHPMailer发送邮件时遇到502 Bad Gateway错误?别慌!这通常不是PHPMailer本身的问题,而是服务器端配置或代码逻辑的故障。本文将分析导致此错误的常见原因,并提供相应的解决方法。 “502 Bad Gateway”错误提示Web服务器(例如Apache…

    2025年12月10日
    000
  • 如何让Pheanstalk消费者在后台持续运行?

    保持pheanstalk消费者后台持续运行的最佳实践 本文介绍如何将Pheanstalk消费者程序作为后台进程运行,确保其在终端会话结束后也能持续处理消息队列中的任务。直接运行php xxxx命令的消费者会在终端关闭时终止,因此需要借助其他工具或方法。 以下几种方法可以实现Pheanstalk消费者…

    2025年12月10日
    000
  • Oracle 11g Linux安装包去哪下载?

    Oracle 11g Linux安装包下载困境及解决方案 许多用户在搭建Oracle数据库环境时,常常面临一个难题:Oracle官方已停止提供11g版本的安装包下载。本文将针对“如何下载Oracle 11g for Linux安装包”这一问题提供一些建议。 由于Oracle官方出于安全和支持策略的考…

    2025年12月10日
    000
  • Oracle 11g for Linux安装包去哪里下载?

    Oracle 11g for Linux安装包获取指南 由于Oracle官方已停止提供Oracle 11g数据库Linux版本的下载,寻找安装包变得相对困难。本文将指导您如何谨慎地寻找该版本安装包。 挑战与风险 Oracle官方不再支持11g版本,导致网络上可信资源匮乏。 直接搜索可能难以找到可靠的…

    2025年12月10日
    000
  • Oracle 11g Linux安装包去哪找?

    Oracle 11g for Linux安装包获取指南 许多开发者在维护或搭建旧系统时,可能需要Oracle 11g数据库。但由于Oracle官方已停止11g版本的下载,许多用户面临难题。本文针对“搜索引擎难以找到Oracle 11g Linux安装包”的问题,提供几种解决方案。 Oracle官方不…

    2025年12月10日
    000
  • Linux Webshell登录后,文件目录中的箭头究竟是什么意思?

    Linux Webshell登录后,文件目录中箭头标识的含义详解 使用Webshell登录Linux服务器时,您可能会在文件目录列表中看到一些带有箭头的文件或目录。这些箭头并非系统错误,而是代表着Linux系统中的软链接(Symbolic Link),也称为符号链接。 软链接类似于Windows系统…

    2025年12月10日
    000
  • Webshell中箭头指向的文件或目录是什么?

    Linux Webshell中的软链接标识 在使用Webshell访问Linux服务器时,您可能会注意到某些文件或目录名前面显示一个箭头。这表示该项目是一个软链接(symbolic link),类似于Windows系统的快捷方式。它并非实际的文件或目录,而是一个指向其他文件或目录的指针。 箭头指示了…

    2025年12月10日
    000
  • Linux服务器PHP 5.6如何安装sqlsrv和pdo_sqlsrv扩展?

    在Linux服务器上启用PHP连接Microsoft SQL Server:sqlsrv和pdo_sqlsrv扩展安装指南 许多Linux服务器管理员需要在PHP环境中与Microsoft SQL Server数据库交互。本文将指导您如何在Linux服务器的PHP 5.6环境中安装必要的sqlsrv…

    2025年12月10日
    000
  • Linux PHP 5.6环境下如何安装sqlsrv和pdo_sqlsrv扩展?

    在Linux服务器上扩展PHP功能:安装sqlsrv和pdo_sqlsrv扩展 许多开发者在使用Linux服务器搭建PHP环境时,需要安装特定扩展,例如连接Microsoft SQL Server数据库所需的sqlsrv和pdo_sqlsrv扩展。本文将详细介绍如何在PHP 5.6版本下,于Linu…

    2025年12月10日
    000
  • 如何在Linux服务器上安装PHP sqlsrv和pdo_sqlsrv扩展?

    在Linux服务器上安装PHP sqlsrv和pdo_sqlsrv扩展详解 本文将指导您如何在Linux服务器上安装PHP的sqlsrv和pdo_sqlsrv扩展,这两个扩展用于连接Microsoft SQL Server数据库。我们假设您的服务器已安装PHP 5.6或更高版本。 安装方法: 虽然可…

    2025年12月10日
    000
  • Linux服务器PHP5.6如何安装sqlsrv和pdo_sqlsrv扩展?

    在Linux服务器上安装PHP 5.6的sqlsrv和pdo_sqlsrv扩展,让您的PHP应用连接SQL Server数据库。本文将指导您完成安装过程。 问题: 如何在运行PHP 5.6的Linux服务器上安装sqlsrv和pdo_sqlsrv扩展? 解决方案: 主要有两种方法: 方法一:使用PE…

    2025年12月10日
    000
  • LAMP架构下,PHP可以用来编写后端接口吗?

    LAMP架构与PHP后端开发 虽然许多开发者偏好使用JavaScript或Java构建后端接口,但在LAMP架构的项目中,PHP依然是构建后端,特别是API接口的有效选择。 LAMP架构(Linux、Apache、MySQL/MariaDB、PHP)是经典的Web应用架构,PHP在其中扮演着关键角色…

    2025年12月10日
    000
  • 后端开发环境:Docker 真的比传统方式更有效率吗?

    Docker 在后端开发中的利弊权衡 Docker 作为构建后端开发环境的流行方案,正被越来越多的团队采用。然而,并非所有开发者都对其效率提升表示认同。本文将深入探讨 Docker 在后端开发中的挑战,并分析部分开发者坚持使用传统本地环境的原因。 许多开发者在使用 Docker 时遇到的瓶颈在于:频…

    2025年12月10日
    000
  • 后端开发环境:Docker是必须的吗?

    Docker在后端开发环境中的应用:利与弊 许多后端团队尝试使用Docker标准化开发环境,以解决环境差异导致的代码兼容性问题。Docker通过镜像技术打包运行环境,理论上简化了环境配置,只需将代码放入容器即可运行。然而,实际应用中并非如此简单。 开发者经常面临的挑战是:频繁更新依赖需要重新构建镜像…

    2025年12月10日
    000
  • 后端开发:Docker并非唯一选择,还有哪些替代方案?

    后端开发环境:探索Docker之外的替代方案 Docker作为后端开发环境日益流行,其初衷是构建一致、可复现的开发环境,避免因环境差异导致的代码运行问题。Docker通过镜像技术打包运行环境,开发者只需编写配置文件,即可轻松搭建开发环境,无需手动安装繁杂的依赖项。然而,这种方法并非完美无缺。 本文作…

    2025年12月10日
    000
  • LAMP架构下,PHP适合开发API接口吗?

    LAMP架构与PHP API接口开发:可行性分析 许多开发者偏好使用JavaScript或Java构建API接口,但在LAMP环境下进行实验时,常常会疑问:PHP是否胜任后端API接口开发?例如,能否利用PHP创建一个简单的API? 答案是肯定的。PHP作为LAMP架构的核心组件之一,其服务器端脚本…

    2025年12月10日
    000
  • LAMP架构下,必须使用PHP进行后端开发和接口编写吗?

    LAMP架构与PHP后端开发的关系 许多开发者偏好使用JavaScript或Java进行接口编写,但在某些实验或项目中,LAMP架构仍然是首选。那么,LAMP架构是否强制要求使用PHP进行后端开发,例如接口开发呢? 答案是肯定的。LAMP架构的核心组件包括:Linux操作系统、Apache Web服…

    2025年12月10日
    000
  • curl报错“error 35”:SSL连接失败如何解决?

    遭遇curl “error 35”:SSL连接问题及解决方案 使用curl进行网络请求时,经常会遇到令人头疼的“error 35”错误。本文将深入分析该错误原因并提供有效的解决方法。 “error 35”通常表示SSL证书验证失败。 curl在建立HTTPS安全连接时,需要验证服务器提供的SSL证书…

    2025年12月10日
    000
  • LAMP架构下PHP能用于后端接口开发吗?

    LAMP架构下的PHP后端接口开发 许多开发者偏好使用JavaScript或Java构建后端接口,但在LAMP环境下,很多人会疑问:PHP是否也能胜任后端接口开发? LAMP架构(Linux、Apache、MySQL/MariaDB、PHP)是常用的Web开发环境,PHP作为服务器端脚本语言,扮演着…

    2025年12月10日
    000

发表回复

登录后才能评论
关注微信