千家信息网

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安全错误 数据库的锁怎样保障安全 云服务器搭建web 互联网先驱科技 天津专业网络技术资费 数据库中属性组与元组 福州亿策互联网科技有限公司 净网2018网络安全宣传 小学生网络安全串词 数据库中表删不了怎么办 软件开发 补贴 现在的互联网科技十分发达 软件开发定额标准表格 数据库服务器启动命令 智能网络技术的例子 人可以活多少天数据库 木瓜互联网科技馆南京 计算机网络技术单元测试1 软件开发为什么那么多项目 软件开发医疗行业可以吗 网络安全态势感知哪家好 手机软件开发哪家有实力 数据库中属性组与元组 keep服务器异常怎么办 陕西博科网络技术有限公司 数据库怎么建一个一样的表 无锡网络营销软件开发咨询热线 飞行安全精准数据库 卡住 软件开发风投公司有哪些 文档服务器地址怎么创建快捷方式 七大基础数据库是哪七个 榆树什么是网络技术服务品质保障
0