찾다
php教程php手册Drupal7中配置Memcache方法详解

本文章来给各位同学详细介绍关于Drupal7中配置Memcache方法详解,希望此方法对各位同学会有所帮助哦。

Memcache的配置就不多说,drupal由于模块较多,数据库调用频繁,因此memcache是drupal站点中必备的配置,本文大概列一下Drupal7中关于memcache的配置情况,以方便大家查阅。

1. 安装memcache服务以及启动memcached。

2. 安装drupal的memcache模块。(http://drupal.org/project/memcache)

3. 配置settings.php

 $conf['cache_backends'][] = 'sites/all/modules/memcache/memcache.inc';
  // The 'cache_form' bin must be assigned no non-volatile storage.
  $conf['cache_class_cache_form'] = 'DrupalDatabaseCache';
  $conf['cache_default_class'] = 'MemCacheDrupal';
  $conf['memcache_key_prefix'] = 'something_unique';

注意,需要将memcache.inc的文件路径写正确,如Drupal模块目录组织方式总结中提到,我们一般将memcache模块会放置在contrib文件夹下面,因此路径可能是 sites/all/modules/contrib/memcache/memcache.inc。

此外memcache_key_prefix最好设置一下。

4. 多个memcachd服务。

默认情况下,如果不配置memcache_servers以及memcache_bins的话,Drupal会认为只有一个server,即127.0.0.1:11211,如果有多个memcache实例的话,需要添加如下配置。

$conf['memcache_servers'] = array(
  '10.1.1.1:11211' => 'default',
  '10.1.1.1:11212' => 'default',
  '10.1.1.2:11211' => 'default',
  '10.1.1.3:11211' => 'cluster2',
  '10.1.1.4:11211' => 'cluster2'
);
$conf['memcache_bins'] = array(
  'cache'  => 'default',
  'cache_filter' => 'cluster2',
  'cache_menu' => 'cluster2'
);

一切就绪。

最后讲解一下单台机器如何配置多个memcache实例,即单台机器的memcache集群搭建。

我们需要修改2个文件,一个是启动脚本/etc/init.d/memcached-multi,另一个是配置文件/etc/sysconfig/memcached。

/etc/sysconfig/memcached

是用来配置多个memcache实例的大小

PORT="11211"

USER="memcached"

MAXCONN="1024"

CACHESIZE="512"

OPTIONS=""

MULTIBUCKET="2"

CACHESIZEARRAY[1]="1024"

CACHESIZEARRAY[2]="128"/etc/init.d/memcached-multi

是用来启动memcache集群。(start、stop、restart)

#! /bin/sh

#

# chkconfig: - 55 45

# description:    The memcached daemon is a network memory cache service.

# processname: memcached

# config: /etc/sysconfig/memcached

# pidfile: /var/run/memcached/memcached.pid

 

# Standard LSB functions

#. /lib/lsb/init-functions

 

# Source function library.

. /etc/init.d/functions

 

PORT=11211

USER=memcached

MAXCONN=1024

CACHESIZE=64

OPTIONS=""

MULTIBUCKET=""

 

if [ -f /etc/sysconfig/memcached ];then

    . /etc/sysconfig/memcached

fi

 

[ -z "$MULTIBUCKET" ] && MULTIBUCKET=1

 

# Check that networking is up.

. /etc/sysconfig/network

 

if [ "$NETWORKING" = "no" ]

then

    exit 0

fi

 

RETVAL=0

prog="memcached"

 

start () {

    echo -n $"Starting $prog: "

    # insure that /var/run/memcached has proper permissions

    if [ "`stat -c %U /var/run/memcached`" != "$USER" ]; then

        chown $USER /var/run/memcached

    fi

 

    for i in `/usr/bin/seq 1 $MULTIBUCKET`; do

        THISCACHESIZE=$CACHESIZE

        [ ${#CACHESIZEARRAY[*]} -gt 0 -a ${CACHESIZEARRAY[$i]:-0} -gt 0 ] && THISCACHESIZE=${CACHESIZEARRAY[$i]}

        daemon --pidfile /var/run/memcached/memcached.pid memcached -d -p $PORT -u $USER  -m $THISCACHESIZE -c $MAXCONN -P /var/run/memcached/memcached-$i.pid $OPTIONS

        let RETVAL=$RETVAL+$?

        let PORT=$PORT+1

    done

    echo

    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/memcached

}

stop () {

    echo -n $"Stopping $prog: "

    for i in `/usr/bin/seq 1 $MULTIBUCKET`; do

        killproc -p /var/run/memcached/memcached-$i.pid /usr/bin/memcached

        let RETVAL=$RETVAL+$?

    done

    echo

    if [ $RETVAL -eq 0 ] ; then

        rm -f /var/lock/subsys/memcached

        rm -f /var/run/memcached.pid

    fi

}

 

restart () {

        stop

        start

}

 

# See how we were called.

case "$1" in

  start)

    start

    ;;

  stop)

    stop

    ;;

  status)

    echo "Warning: This status check is laughable.  Inspect netstat or ps output manually."

    status memcached

    ;;

  restart|reload|force-reload)

    restart

    ;;

  condrestart)

    [ -f /var/lock/subsys/memcached ] && restart || :

    ;;

  *)

    echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"

    exit 1

esac

 

exit $RETVAL

至此一些就绪。


教程链接:

随意转载~但请保留教程地址★

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기