千家信息网

linux memcache怎么安装配置

发表于:2024-09-28 作者:千家信息网编辑
千家信息网最后更新 2024年09月28日,今天小编给大家分享一下linux memcache怎么安装配置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下
千家信息网最后更新 2024年09月28日linux memcache怎么安装配置

今天小编给大家分享一下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/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.在 选择相应想要下载的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怎么安装配置"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

数据 内容 数据库 知识 篇文章 系统 配置 事件 内存 变量 环境 用户 程序 处理 服务 最大 操作系统 同时 客户 客户端 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 完美世界对战平台服务器连接失败 绝地求生国际服务器维护怎么办 软件开发人才介绍 电子商务和软件开发哪个前景好 KIMIKO视频软件开发 潜渊症服务器人机加点 全球互联网网络安全问题分析 网络技术and 广州网络技术学院排名 高中网络安全知识手抄报图片 网络安全女生的优点 湖南标准软件开发定做价格 再收到软件开发费怎么做账 尝试连接至远程服务器失败 变电站数据库丢失原因 伟创网络技术有限公司 sql数据库删除命令 有关网络安全的英文报道 阿里云服务器都安装什么操作系统 cbm数据库检索中加权是指 吃药提醒软件开发 软件开发技能评价 数据库一起为主码是怎么写 华为服务器生产线在哪里 网文网站月活数据库 服务器数据与系统更新隔离 安全型数据库的区别 预算监板联网软件开发企业 腾讯云服务器企业购买 国际服的新出的服务器
0