当前位置:  操作系统/服务器>linux

linux memcache安装配置方法

    来源: 互联网  发布时间:2014-08-25

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

基本原理:

① 客户端第一次访问应用程序时,会到数据库(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。欲了解更多关于libevent:http://monkey.org/~provos/libevent/

编译安装Memcached

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

# yum install libevent libevent-devel -y

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

memcached官方网站是:http://memcached.org/
# 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

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.在http://pecl.php.net/package/memcache 选择相应想要下载的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下编译安装memcached服务
  • linux下安装php的memcached客户端
  • Linux内核中影响tcp三次握手的一些协议配置
  • LINUX如何配置网卡,配置TELNET,急!在线等待!
  • Linux下NFS服务配置详解
  • 求xmanager3.0 配置root用户,连接redhat linux 6.0 配置文档
  • linux/centos源码安装nginx编译配置选项参数介绍
  • 高分求救!!!怎样在linux下配置tomcat文件?同时配置sqlServer数据库?
  • 何处有 Linux 内核编译配置详细的中文介绍? 我在重新配置编译时老是出错:-(
  • 安装linux的最低配置:硬盘,内存,以及cpu的最低配置?多谢赐教!
  • 请问:我在win2000下装了一个vMware4.5,又装了一个linux9.0,可是不会配置网络,我的虚拟机已经配置好了桥连接,可是在linux下我不知道
  • LINUX的一段DHCP配置怎样在WINDOWS 2003上配置相同的功能
  • linux路由器配置,内核配置中怎么找不到optimize as router not host选项!
  • to: wjmmml(笑着悲伤),有没有linux下的配置java、tomcat等等其他的配置文档啊,请帮忙
  • 大家好!我已经装好了红旗Linux桌面3.2正式版产品。现在我想配置通过局域网上网??请问我本机如何配置????
  • 请推荐一个配置要求低linux安装,我打算装上用来学习在linux上面做开发
  • linux下网络配置
  • 使用secureFX连接到linux上需要在linux上配置什么
  • LINUX(RH)下配置文件集
  • 如何配置linux,使windows系统可以直接打印到linux的打印机上??
  • 求教:Linux下网络配置的问题
  • 我机器配置不高,装了VMware,想装个redhat linux学linux
  • tomcat&Apache linux下配置
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下curl的下载,安装以及curl命令的详细参数,用法介绍
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux/centos下安装nginx(rpm安装和源码安装)详细步骤
  • 在windowsxp安装完vm后,想安装linux(作为guest os),是不是需要linux安装盘?
  • linux/centos安装nginx常见错误及解决办法
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • mysql iis7站长之家
  • 先安装了redhat linux ,后来安装了windows,如何恢复redhat linux ?
  • Linux下c/c++ boost安装及并发编程库mpi介绍
  • 我C盘安装win2k,在E盘安装linux。安装后,如何进入linux系统?
  • 我没有linux安装光盘!可不可以通过网络在我的电脑上安装一个linux操作系统!
  • 在linux下面怎么安程序啊?我刚裝了一个 linux,下了一个迅雷安装程序,可是不知道怎么安装啊?真心请教。
  • 我安装linux时 为什么直接按Enter后就 linux text 安装?
  • 听说安装linux要很小的空间,我在网上看到,安装linux要3张光盘啊!
  • 请问在vmstation下怎么安装linux??但不想从头安装linux,不知在windows下怎么办?
  • 安装LINUX时,GRUB没有安装到主MBR,而是安装到了hdb7(/boot分区)上,请问怎样才能进入LINUX
  • linux安装nagios,安装nrpe时候,先安装了openssl再从安装nrpe出错。
  • 在已经安装了windows2000server的机器上安装红旗linux时,如何配置引导记录安装位置?急
  • Red Hat linux如何 安装,当我要划分区来安装的时候,提示我说要划和""linux根区,才可以继续安装.请问如何处理?
  • 请问如何安装一个LINUX内核到我的电脑上,成为一个系统比如安装linux-2.2.16-高分
  • 如何在LINUX下安装MSSQL 是否可以在LINUX下安装MSSQL
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • secureCRT下Linux终端汉字乱码解决方法
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • Linux c字符串中不可打印字符转换成16进制
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在没有linux的盘,只有DOS启动盘)
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 如何让win2000和linux共存。我装好WIN2000,再装LINUX7.0,但LILO只能找到LINUX,不能引导WIN2000


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3