Drupal7_PHP チュートリアルで Memcache を設定する方法の詳細な説明

WBOY
リリース: 2016-07-13 16:57:47
オリジナル
737 人が閲覧しました

この記事ではDrupal7でMemcacheを設定する方法を詳しく紹介します。この方法が役立つことを願っています。

Memcache の構成については詳しく説明しません。Drupal には多くのモジュールがあり、データベース呼び出しが頻繁に行われるため、Drupal サイトでは memcache の構成が必要になります。便宜上、この記事で簡単に説明します。

1. memcache サービスをインストールし、memcached を起動します。

2. drupalのmemcacheモジュールをインストールします。 (http://drupal.org/project/memcache)

3. settings.phpを設定します

コードは次のとおりです コードをコピー
$conf['cache_backends'][] = 'sites/all/modules/memcache/memcache.inc';
// 「cache_form」ビンには不揮発性ストレージを割り当てる必要があります。
$conf['cache_class_cache_form'] = 'DrupalDatabaseCache';
$conf['cache_default_class'] = 'MemCacheDrupal';
$conf['memcache_key_prefix'] = 'something_unique';

Drupal モジュールのディレクトリ構成の概要で述べたように、memcache モジュールは通常 contrib フォルダーの下に配置されるため、パスは sites/all/modules/contrib になる可能性があります。 /memcache/memcache.inc.
さらに、memcache_key_prefix を設定することをお勧めします。

4. 複数の memcachd サービス。
デフォルトでは、memcache_servers と memcache_bins が設定されていない場合、Drupal はサーバーが 127.0.0.1:11211 のみであると認識します。複数の memcache インスタンスがある場合は、次の設定を追加する必要があります。

コードは次のとおりです コードをコピー
$conf['memcache_servers'] = array(
'10.1.1.1:11211' => 'デフォルト',
'10.1.1.1:11212' => 'デフォルト',
'10.1.1.2:11211' => 'デフォルト',
'10.1.1.3:11211' => 'cluster2',
'10.1.1.4:11211' => 'クラスター2'
);
$conf['memcache_bins'] = array(
'キャッシュ' => 'デフォルト',
'cache_filter' => 'cluster2',
'cache_menu' => 'cluster2'
);

準備は完了です。

最後に、単一マシン上に複数の memcache インスタンスを構成する方法、つまり単一マシン上に memcache クラスターを構築する方法を説明しましょう。
2 つのファイルを変更する必要があります。1 つは起動スクリプト /etc/init.d/memcached-multi で、もう 1 つは設定ファイル /etc/sysconfig/memcached です。

コードは次のとおりです コードをコピー
/etc/sysconfig/memcached

複数の memcache インスタンスのサイズを設定するために使用されます

コードは次のとおりです コードをコピー
ポート="11211"
USER="memcached"
MAXCONN = "1024"
CACHESIZE="512"
オプション=""
マルチバケット = "2"
CACHESIZEARRAY[1]="1024"
CACHESIZEARRAY[2]="128"/etc/init.d/memcached-multi

はmemcacheコレクション群を起動するために使用されます。(開始、停止、再起動)

代码如下 复制幣
#! /bin/sh
#
#chkconfig: - 55 45
# description: memcached デーモンは、ネットワーク メモリ キャッシュ サービスです。
# プロセス名: memcached
# 設定: /etc/sysconfig/memcached
# pidfile: /var/run/memcached/memcached.pid
 
# 標準LSB関数
#。 /lib/lsb/init-functions
 
# ソース関数ライブラリ
。 /etc/init.d/functions
 
ポート=11211
ユーザー=memcached
マックスコン=1024
キャッシュサイズ=64
オプション=""
マルチバケット=""
 
if [ -f /etc/sysconfig/memcached ];then
    。 /etc/sysconfig/memcached
ふぃ
 
[ -z "$MULTIBUCKET" ] && マルチバケット=1
 
# ネットワークが起動していることを確認してください。
。 /etc/sysconfig/ネットワーク
 
if [ "$NETWORKING" = "いいえ" ]
それでは
    0番出口
ふぃ
 
RETVAL=0
prog="memcached"
 
開始 () {
    echo -n $"$prog を開始します: "
    # /var/run/memcached に適切な権限があることを確認します
    if [ "`stat -c %U /var/run/memcached`" != "$USER" ];それでは
        chown $USER /var/run/memcached
    ふぃ
 
    for i の `/usr/bin/seq 1 $MULTIBUCKET`;する
        このキャッシュサイズ=$キャッシュサイズ
        [ ${#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
        RETVAL=$RETVAL+$?
にしましょう         PORT=$PORT+1 とします
    完了しました
    エコー
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/memcached
}
やめて(){
    echo -n $"$prog を停止しています: "
    for i の `/usr/bin/seq 1 $MULTIBUCKET`;する
        killproc -p /var/run/memcached/memcached-$i.pid /usr/bin/memcached
        RETVAL=$RETVAL+$?
にしましょう     完了しました
    エコー
    if [ $RETVAL -eq 0 ] ;それでは
        rm -f /var/lock/subsys/memcached
        rm -f /var/run/memcached.pid
    ふぃ
}
 
再起動() {
        やめて
        スタート
}
 
# 私たちがどのように呼ばれたかを見てください。
「$1」の場合
  開始)
    スタート
    ;;
  やめて)
    やめて
    ;;
  ステータス)
    echo 「警告: このステータス チェックはばかげています。netstat または ps の出力を手動で調べてください。」
    ステータスがmemcached
    ;;
  再起動|リロード|強制リロード)
    再起動
    ;;
  コンリスタート)
    [ -f /var/lock/subsys/memcached ] && 再起動 || :
    ;;
  *)
    echo $"使用法: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
    1番出口
えさっく
 
$RETVAL を終了します

ここまでいくつかの就寝グループ。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631492.html技術記事この記事ではDrupal7でMemcacheを設定する方法を詳しく紹介しますので、ご参考になれば幸いです。 Drupal の構成については、モジュールの関係上、多くは語りません...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート