发布于 2014-11-30 06:53:51 | 1355 次阅读 | 评论: 0 | 来源: 网友投递
Memcache 高性能分布式内存对象缓存系统
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
本文为大家讲解的是linux下如何让memcached服务器设置成开机自动启动的方法,感兴趣的同学参考下。
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
要将memcached作为系统服务启动,需要在/etc/init.d/目录下新建一个脚本,名称为:memcached。内容如下:
#! /bin/bash
#
# memcached start/stop the memcached daemon
#
# chkconfig: 35 80 70
# description: memcached is a memory cache server.
#
prog="memcached"
exec=/usr/local/memcached/bin/memcached
lockfile=/var/lock/subsys/memcached
# source function library.
. /etc/rc.d/init.d/functions
start() {
if [ $UID -ne 0 ]; then
echo "User has insufficient privilege."
exit 4
fi
[ -x $exec ] || exit 5
echo -n $"starting $prog: "
daemon $exec -u root -d -P /var/run/memcached.pid
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
}
stop() {
if [ $UID -ne 0 ]; then
echo "User has insufficient privilege."
exit 4
fi
echo -n $"Stopping $prog: "
if [ -n "`pidfileofproc $exec`" ]; then
killproc $exec
else
failure $"stopping $prog"
fi
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
}
restart() {
stop
start
}
rh_status() {
# run checks to determine if the service is running or use generic status
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
"start")
rh_status_q && exit 0
$1
;;
"stop")
rh_status_q || exit 0
$1
;;
"restart")
rh_status_q || exit 7
$1
;;
"status")
rh_status
;;
*)
echo $"Usage: $0 {start|stop|status|restart}"
exit 2
;;
esac
exit $?
1,先查看memcached服务是否在chkconfig管理列表:
[root@rhl6 init.d]# chkconfig --list memcached
servi
ce memcached supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add memcached')
2,由提示信息可以看出,memcached还没有加入chkconfig管理,将其加入chkconfig管理:
[root@rhl6 init.d]# chkconfig --add memcached
3,再次查看memcached服务被管理:
[root@rhl6 init.d]# chkconfig --list memcached
memcached 0:off 1:off 2:off 3:on 4:off 5:on 6:off
可以看到,在运行级别3、5上,memcached服务已经设置为开机启动了。这个设置是在shell脚本中设置的(上面脚本第五行):