0

0

linux下memcache如何安装配置

PHPz

PHPz

发布时间:2023-05-18 11:28:05

|

2121人浏览过

|

来源于亿速云

转载

基本原理:

① 客户端第一次访问应用程序时,会到数据库(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/functions
	retval=0
	prog="memcached"
	basedir=/etc/memcached
	cmd=${basedir}/bin/memcached
	pidfile="$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 $pidfile
		retval=$?
		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 $pidlist
			do
	#		  echo "pid=$pid"
				kill -9 $pid
				if [ $? -ne 0 ]; then
					return 1
				fi
			done
		retval=$?
		echo
		[ $retval -eq 0 ] && rm -f /var/lock/subsys/$prog
	}
	# see how we were called.
	case "$1" in
		start)
			start
			;;
		stop)
			stop
			;;
		#reload)
		#	reload
		#	;;
		restart)
			stop
			start
			;;
		#condrestart)
		#	if [ -f /var/lock/subsys/$prog ]; then
		#		stop
		#		start
		#	fi
		#	;;
		status)
			status memcached
			;;
		*)
			echo "usage: $0 {start|stop|restart|status}"
			exit 1
	esac
	exit $retval

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

cqcms蓝色通用企业网站源码(带手机端)2.9
cqcms蓝色通用企业网站源码(带手机端)2.9

cqcms通用企业建站介绍 cqcms蓝色通用企业网站源码(带手机端)后台非常简单,一个后台同时管理PC和wap。把图片和文字稍加修改,就可以使用。适合任何企业网站 安装步骤: 1、下载文件,并且解压到网站的根目录,配置好apache/IIS虚拟主机以及伪静态;2、安装网址http://localhost/(localhost为您网址地址)3、网站后台入口 http://localhost/ad

下载

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测试页面查看

相关专题

更多
PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

23

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

11

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

2

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

4

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

13

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

93

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

112

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

155

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号