Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung des PHP-Memcaches

Zusammenfassung des PHP-Memcaches

WBOY
WBOYOriginal
2016-07-30 13:30:44949Durchsuche

1. Einführung

Das Memcache-Modul ist ein effizienter Daemon, der prozedurale Programme und objektorientierte, praktische Schnittstellen für das Speicher-Caching bereitstellt, insbesondere zum Entwerfen dynamischer Web-Datenbankzugriffe während der Programmierung.

Memcache bietet auch die Verarbeitung für Kommunikationsgespräche (session_handler).

Weitere Informationen zum Memcache-Modul finden Sie unter http://www.danga.com/memcached/.

1.1. Memcache-Konfigurationselementliste in php.ini

memcache在php.ini中的配置项列表
名称 默认值 可修改的范围 改变日志
memcache.allow_failover “1” PHP_INI_ALL Available since memcache 2.0.2.
memcache.max_failover_attempts "20" PHP_INI_ALL Available since memcache 2.1.0.
memcache.chunk_size "8192" PHP_INI_ALL Available since memcache 2.0.2.
memcache.default_port "11211" PHP_INI_ALL Available since memcache 2.0.2.
memcache.hash_strategy "standard" PHP_INI_ALL Available since memcache 2.2.0.
memcache.hash_function "crc32" PHP_INI_ALL Available since memcache 2.2.0.
session.save_handler "files" PHP_INI_ALL Supported since memcache 2.1.2
session.save_path "" PHP_INI_ALL Supported since memcache 2.1.2

Weitere Details und Definitionen der PHP_INI_*-Konstanten finden Sie im PHP-Handbuch php.ini-Konfigurationsoptionen.

1.2. Im Folgenden finden Sie eine kurze Erläuterung der Konfigurationselemente

memcache.allow_failover Boolean

Ob der Fehler vorliegt transparent im Fehlerfall. Übertragung an andere Server zur Verarbeitung (Hinweis: Failover ist ein Verb).

memcache.max_failover_attempts integer

Definieren Sie die Zahlenklasse des Servers zum Festlegen und Abrufen von Daten, wird nur in Verbindung mit memcache.allow_failover verwendet.

memcache.chunk_size integer

Die Daten werden in die angegebene Größe unterteilt ( chunk_size) zu übertragende Chunks. Je kleiner dieser Wert (chunk_size), desto mehr Anfragen für Schreibvorgänge. Wenn Sie andere unerklärliche Verlangsamungen feststellen, erhöhen Sie diesen Wert auf 32768

Zeichenfolge

Wenn beim Herstellen einer Verbindung zum Memcache-Server kein Port angegeben wird, wird dieser Standard-TCP-Port verwendet.

memcache.hash_strategy

string

Steuert, welche Strategie beim Zuordnen von Schlüsseln zum Server verwendet wird. Wenn Sie diesen Wert konsistent festlegen, kann der Hashing-Algorithmus konsistent verwendet werden und wird nicht neu zugeordnet, wenn der Server das Hinzufügen oder Entfernen von Variablen aus dem Pool akzeptiert. Setzen Sie diesen Wert auf Standardergebnisse, wenn die alte Strategie verwendet wird.

memcache.hash_function

string

Steuern, welche hsah-Funktion auf den Schlüsselzuordnungsprozess zum Server angewendet wird. Der Standardwert „crc32“ wird verwendet CRC32-Algorithmus und „fnv“ bedeutet die Verwendung des FNV-1a-Algorithmus.

session.save_handler

string

Bestimmen Sie die Verwendung von Memcache für die Kommunikationssitzungsverarbeitung (Sitzungshandler), indem Sie diesen Wert auf Memcache setzen.

session.save_path

string

Definieren Sie das Trennzeichen für jeden Serverlink, der für die Anrufspeicherung verwendet wird, zum Beispiel: „tcp://host1: 11211, tcp://host2:11211". Jeder Serverlink kann Parameter enthalten, die vom Server akzeptiert werden, ähnlich wie bei Servern, die mit Memcache::addServer() hinzugefügt wurden, zum Beispiel: „tcp://host1:11211?persistent=1&weight=1&timeout =1& ;retry_interval=15“.

1.3.memcache-Konstantenliste

2Memcache-Funktionen Funktionsliste

2.1.Memcache::connect

2.1.1. Beschreibung

bool Memcache ::connect ( string $host [, int $port [, int $timeout ]] )

Mit Memcache-Server verbinden

2.1.2 Parameter

$host(string) Serverdomänenname oder IP

$port(int) Server-TCP-Portnummer, der Standardwert ist 11211

$timeout Die Ablaufzeit des Verbindungs-Memcache-Prozesses. Sie sollten es sich zweimal überlegen, bevor Sie den Standardwert 1 ändern, um nicht alles zu verlieren die Vorteile des Memcache-Cachings. Die Verbindung wird sehr langsam.

2.1.3. Rückgabewert

Gibt „true“ zurück, wenn es erfolgreich ist, false, wenn es fehlschlägt

2.1.4. Beispiel

Zusammenfassung des PHP-Memcaches

php
/* prozedurale API * /$memcache_obj = memcache_connect('memcache_host', 11211);
/* OO API */$memcache = neu Memcache;
$memcache- > connect('memcache_host', 11211);
?> ;

Zusammenfassung des PHP-Memcaches


2.2.Memcache::pconnect

2.2 .1. Beschreibung

bool Memcache::pconnect ( string $host [, int $port [, int $timeout ]] )

Verbindung zum Server im Dauerverbindungsmodus herstellen

2.2.2. Parameter

$host(string) Serverdomänenname oder IP

$port(int) Server-TCP-Portnummer, der Standardwert ist 11211

$timeout ist die Ablaufzeit des Verbindungs-Memcache-Prozesses. Sie sollten es sich zweimal überlegen, bevor Sie den Standardwert 1 ändern, um zu vermeiden, dass alle Vorteile des Memcache-Cachings verloren gehen und die Verbindung sehr langsam wird.

2.2.3. Rückgabewert

Gibt „true“ zurück, wenn es erfolgreich ist, false, wenn es fehlschlägt

2.2.4. Beispiel

Zusammenfassung des PHP-Memcaches

php/* prozedurale API */ $memcache_obj = memcache_pconnect('memcache_host', 11211);/* OO API */ $memcache_obj = neu Memcache;$memcache_obj ->pconnect('memcache_host', 11211); ?> ;

Zusammenfassung des PHP-Memcaches


2.3.Memcache::close

2.3 .1. Beschreibung

bool Memcache::close (void)

Schließen Sie das Objekt (funktioniert nicht für ständige Verbindungen)

2.3.2. Rückgabewert

Gibt „true“ zurück, wenn erfolgreich, false, wenn fehlgeschlagen

2.3.3 . Beispiel

Zusammenfassung des PHP-Memcaches

php
/* prozedurale API */$ memcache_obj = memcache_connect('memcache_host', 11211);
/*   hier etwas tun ..   */
memcache_close(
$memcache_obj);
/* OO API */$memcache_obj = neu Memcache;
$memcache_obj->connect('memcache_host', 11211);
/*  hier etwas tun ..  */$memcache_obj->close();
?>

Zusammenfassung des PHP-Memcaches

2.4.Memcache::addServer

2.4.1.说明

bool Memcache::addServer ( string $host [, int $port [ , bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool $status [, Rückruf $failure_callback ]]]]]]] )

向对象添加一个服务器(注:addServer没有连接到服务器的动作,所以在memcache进程没有启动的时候,执行addServer成功也会返回true)

2.4.2.参数

Host               服务器域名或 IP

Port               端口号,默认为 11211

persistent        是否使用常连接,默认为 TRUE

weight             权重,在多个服务器设置中占的比重

timeout         能失去所有缓存方面的优势导致连接变得很慢

retry_interval    服务器Dynamisch über dl()时,无论本参数还是常连接设置参数都会失效.

                         被跳过而不服务于请求.一个过期的连接将成功的重新连接或者被标记为失败的连接等待下一次 重试.这种效果就是说每一个 Webserver 的子进程在服务于页面时的重试连接都跟他们自己的重试频率有关.

status             控制服务器是否被标记为online,设置这个参数为 FALSE 并设置 retry_interval 为 -1 可以使连接失败的服务器被放到一个描述不响应请求的服务器池子中, 对这个服务器的请求将失败, 接受设置为失败服务器的设置, 默认参数Das ist wahr服务器的 Hostname und Port

2.4.3.返回值

Wahr und falsch val和status

2.4. 4.范例

2.4.4.1.retry_interval参数的测试

php
$mem = neu Memcache;
$is_add = $mem->addServer('localhost', 11211, wahr, 1, 1, 15, wahr); // retrt_interval=15$is_set = $mem->set('key1', 'Volksrepublik China');
?>

Wenn im obigen Beispiel der Localhost-Server oder der Memcache-Daemon ausgefallen ist, stellen Sie beim Ausführen eine Verbindung her Die Anfrage wird 15 Sekunden nach dem Serverausfall automatisch erneut versuchen, eine Verbindung zum Server herzustellen, aber innerhalb dieser 15 Sekunden wird keine Verbindung zum Server hergestellt. Das heißt, solange eine Anfrage vorliegt, wird versucht, eine Verbindung zum Server herzustellen innerhalb von 15 Sekunden, aber der Wiederholungsversuch ist für jede Serververbindung unabhängig. Ich habe zum Beispiel zwei Server gleichzeitig hinzugefügt, einer ist localhost und der andere ist 172.16.100.60. Ab dem Zeitpunkt, an dem ihre jeweiligen Verbindungen fehlgeschlagen sind, stellen sie alle 15 Sekunden eine Verbindung zu ihren jeweiligen Servern her, solange eine Anfrage für sie vorliegt jeweiligen Server.

2.4.4.2. Kombination aus retry_interval und status

php
$mem = neu Memcache;
$is_add = $mem->addServer('localhost', 11211, wahr, 1 , 1, -1 , false); // retrt_interval=-1, status=false $is_set = $mem->set (' key1', 'Volksrepublik China');
?>


Im obigen Fall von retrt_interval=-1, status=false wird der Server, der keine Verbindung herstellen konnte, in einen Pool gestellt, der nicht auf Anfragen reagiert, sodass dies keinen Einfluss auf den Schlüsselzuteilungsalgorithmus hat. Und ob es sofort einen Fehler zurückgibt, fehlschlägt oder ein Failover auftritt, hängt von der Einstellung von memcache.allow_failover ab. Beim Ausführen von Set-, Add-, Replacement-, Get- und anderen Anforderungen schlägt es fehl und gibt „false“ zurück, selbst wenn der Memcache-Prozess normal ausgeführt wird.

2.4.4.3. Testen des Statusparameters

Zusätzlich zur Verwendung in Kombination mit retry_interval hat die Verwendung des Status allein Auswirkungen auf die von der Funktion memcache::getServerStatu erhaltenen Ergebnisse

Egal: Läuft der Memcache-Prozess normal oder ist er abgestürzt? Wenn der Status wahr ist, ist das Ergebnis von getServerStatus wahr, andernfalls ist es falsch

Aber wenn der Memcache-Prozess normal läuft, legen Sie fest, hinzufügen, ersetzen, abrufen usw. Funktionen haben keine Auswirkung.

2.5.Memcache::add

2.5.1. Beschreibung

bool Memcache::add ( string $key , mixed $var [, int $flag [ , int $expire ]] )

Hinzufügen Wenn die zwischenzuspeichernden Daten nicht als Schlüssel der zwischengespeicherten Daten auf dem Server vorhanden sind,

2.5.2. Parameter

Schlüssel                 " Zeichen

Var-Wert, Ganzzahl Der Typ wird direkt gespeichert, andere Typen werden serialisiert und gespeichert, der Maximalwert beträgt 1M

Flag Ob die Zlib-Komprimierung verwendet werden soll? Wenn Flag = MEMCACHE_COMPRESSED, wird die Zlib-Komprimierung nicht verwendet, wenn die Daten sehr klein sind. Erst wenn die Daten eine bestimmte Größe erreichen, wird die Zlib-Komprimierung für die Daten durchgeführt. (Es gibt keine spezifischen Testdaten zum Komprimieren des Mindestwerts)

expire Ablaufzeit, 0 bedeutet, dass sie nie abläuft. Sie können das Unix-Zeitstempelformat oder die Anzahl der Sekunden ab der aktuellen Zeit verwenden. Dies kann nicht festgelegt werden Sekunden Größer als 2592000 (30 Tage)

2.5.3 Rückgabewert

Gibt TRUE zurück, wenn erfolgreich, FALSE, wenn der Schlüssel bereits vorhanden ist, andere Aspekte von memcache:;add(). verhält sich genauso wie Memcache ::set ähnelt

2.5.4. Beispiel

Zusammenfassung des PHP-Memcaches

< ;?php$memcache_obj = memcache_connect("localhost", 11211);/* prozedurale API */memcache_add($memcache_obj, 'var_key', ' Testvariable', FALSCH, 30 ) ;/* OO API */$memcache_obj->add('var_key', 'test variable', FALSCH, 30);?>

Zusammenfassung des PHP-Memcaches


2.6.Memcache::replace

2.6.1. Beschreibung

bool Memcache ::replace ( string $key , gemischt $var [, int $flag [, int $expire ]] )

Ersetzen Sie den Cache-Variableninhalt eines angegebenen vorhandenen Schlüssels

2.6.2 Parameter

Schlüssel Der Schlüssel von Die Länge der zwischengespeicherten Daten darf 250 Zeichen nicht überschreiten

Var-Wert, Ganzzahltyp wird direkt gespeichert, andere Typen werden serialisiert und gespeichert, der Maximalwert beträgt 1M

Flag Ob zlib verwendet werden soll Komprimierung: Wenn Flag = MEMCACHE_COMPRESSED, wird die Zlib-Komprimierung nicht verwendet, wenn die Daten sehr klein sind, und die Zlib-Komprimierung wird nur für die Daten durchgeführt, wenn die Daten eine bestimmte Größe erreichen. (Es gibt keine spezifischen Testdaten zum Komprimieren des Mindestwerts)

expire Ablaufzeit, 0 bedeutet, dass sie nie abläuft. Sie können das Unix-Zeitstempelformat oder die Anzahl der Sekunden ab der aktuellen Zeit verwenden. Dies kann nicht festgelegt werden Sekunden Größer als 2592000 (30 Tage)

2.6.3 Rückgabewert

Gibt TRUE zurück, wenn erfolgreich, FALSE, wenn fehlgeschlagen.

2.6.4. Beispiel

Zusammenfassung des PHP-Memcaches

php
$memcache_obj = memcache_connect('memcache_host ', 11211);
/* prozedurale API */
memcache_replace(
$memcache_obj, "test_key", "einige Variable" , FALSCH, 30);
/* OO API */$memcache_obj->replace( "test_key", "einige Variable" , FALSCH, 30);
?>

Zusammenfassung des PHP-Memcaches


2.7.Memcache: :set

2.7.1.说明

bool Memcache::set ( string  $key , gemischt $var [, int $flag [,  int $expire ]] )

设置一个指定 key 的缓存变量内容

2.7.2.参数

key                  值,整型将直接存储,其他类型将被序列化存储,其值最大为1M

flag              会采用zlib压缩,只有有数据达到一定大小才对数据进行zlib压缩。(没有具体的测试数据进行压缩的最小值是多少)

expire             过期时间,0 为永不过期,可使用 Unix 时间戳格式或距离当前时间的秒数,设为秒数时不能大于 2592000 (30 天)

2.7.3.返回值

成功返回 TRUE, 失败返回 FALSE.

2.7.4.范例

Zusammenfassung des PHP-Memcaches

php/* prozedurale API  *//* mit memcached-Server verbinden */$memcache_obj = memcache_connect('memcache_host', 11211); /*Legen Sie den Wert des Elements mit dem Schlüssel „var_key“ fest und verwenden Sie 0 als Flag-Wert. Die Komprimierung wird nicht verwendet. Die Ablaufzeit beträgt 30 Sekunden. */memcache_set($memcache_obj, 'var_key', 'some variable' , 0, 30);Echo memcache_get($memcache_obj, 'var_key');?>

Zusammenfassung des PHP-Memcaches

Zusammenfassung des PHP-Memcaches

php/* OO API */$memcache_obj = neu Memcache;/* mit memcached-Server verbinden */$memcache_obj->connect('memcache_host', 11211);/*Wert des Elements mit dem Schlüssel „var_key“ festlegen, Bei Verwendung der On-the-Fly-Komprimierung beträgt die Ablaufzeit 50 Sekunden*/$memcache_obj->set( 'var_key', 'eine wirklich große Variable', MEMCACHE_COMPRESSED, 50);echo $memcache_obj-> get('var_key');?>

Zusammenfassung des PHP-Memcaches


2.8.Memcache::get

2.8.1.说明

string Memcache::get ( string $key [, int &$flags ] )

array Memcache ::get ( array $keys [, array &$flags ] )

获取某个 key 的变量缓存值

2.8.2.参数

key               . 缓存值的键

Flags             🎜>

2.8.3.返回值

返回缓存的指定 key 的变量内容或者是在失败或该变量的值不存在时返回 FALSE

 如果传出的key的数组中的key都不存在,返回的结果是一个空数组,反之则返回key与缓存值相关联的关联数组

2.8.4.范例

Zusammenfassung des PHP-Memcaches

php
/* prozedurale API */$ memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj,  'some_key');
/* OO API */$memcache_obj = neu Memcache;
$memcache_obj-> connect('memcache_host', 11211);
$var  = $memcache_obj->get('some_key');
/*
Sie können auch ein Schlüsselarray als Parameter verwenden.
Wenn ein solches Element nicht auf dem Server gefunden wurde, wird das Ergebnisarray verwendet einfach nicht einen solchen Schlüssel enthalten.

*//* prozedurale API */$memcache_obj  = memcache_connect('memcache_host', 11211 );
$var = memcache_get($memcache_obj, Array('some_key', 'another_key'));
//如果some_key,another_key不存在 $var = array();//如果some_key,another_key存在     $var = array('some_key'=>'缓存值', 'another_key' =>'缓存值');
/*
 OO API */$memcache_obj = neu Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get(Array('some_key', 'second_key'));
?>

Zusammenfassung des PHP-Memcaches

2.9.Memcache::delete

2.9.1.说明

bool Memcache::delete ( string $key [, int $timeout ] )

删除某一个变量的缓存

2.9.2.参数

Taste          缓存的键候php会有警告错误.

Zeitüberschreitung  除在30秒内 

2.9.3.返回值

成功返回 TRUE,失败返回 FALSE。

2.9.4.范例

Zusammenfassung des PHP-Memcaches

php
/* prozedurale API */$ memcache_obj = memcache_connect('memcache_host', 11211);
/* nach 10 Sekunden wird das Element vom Server gelöscht */
memcache_delete(
$memcache_obj, 'key_to_delete', 10) ;
/* OO API */$memcache_obj = neu Memcache;
$memcache_obj->connect('memcache_host ', 11211);
$memcache_obj->delete('key_to_delete', 10);
?>

Zusammenfassung des PHP-Memcaches

2.10.Memcache::flush

2.10.1.说明

bool Memcache::flush ( void )

清空所有缓存内容,不是真的删除缓存的内容,只是使所有变量的缓存过期,使内存中的内容被重写

2.10.2.返回值

成功返回 TRUE,失败返回 FALSE.

2.10.3.范例

Zusammenfassung des PHP-Memcaches

< ;?php
/* prozedurale API */$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_flush (
$memcache_obj);
/* OO API */ $memcache_obj = neu Memcache;
$memcache_obj ->connect('memcache_host', 11211);
$memcache_obj->flush();
?>

Zusammenfassung des PHP-Memcaches

2.11.Memcache::getExtendedStats

2.11.1.说明

array Memcache::getExtendedStats ([ string $ Typ [, int $slabid [, int $limit ]]] )

获取所有服务器扩展静态信息 

2.11 .2.参数

type      参数是为了方便开发人员查看不同类别的信息而输入的标题

slabid  被命令绑定到服务器上并被严格的用于调试用途

Limit     >2.11.3.返回值

返回一个由服务器扩展静态信息二维数组,失败时返回 FALSE 

2.11.4.范例

php
$memcache_obj = new Memcache;
$memcache_obj->addServer(‘memcache_host‘, 11211);
$memcache_obj->addServer(‘failed_host‘, 11211);
$stats = $memcache_obj->getExtendedStats(); print_r($stats);
?>

输出结果

Zusammenfassung des PHP-Memcaches

Array(
[memcache_host
:11211=> Array(
[pid] 
=> 3756
[uptime] 
=> 603011
[
time=> 1133810435
[version] 
=> 1.1.12
[rusage_user] 
=> 0.451931
[rusage_system] 
=> 0.634903
[curr_items] 
=> 2483
[total_items] 
=> 3079
[bytes] 
=> 2718136
[curr_connections] 
=> 2
[total_connections] 
=> 807
[connection_structures] 
=> 13
[cmd_get] 
=> 9748
[cmd_set] 
=> 3096
[get_hits] 
=> 5976
[get_misses] 
=> 3772
[bytes_read] 
=> 3448968
[bytes_written] 
=> 2318883
[limit_maxbytes] 
=> 33554432
)
,
[failed_host
:11211=>
)

Zusammenfassung des PHP-Memcaches


2.12.Memcache::getStats

2.12.1.说明

array Memcache::getStats ([ string $type [, int $slabid [, int $limit ]]] )

获取最后添加服务器静态信息 

2.12.2.参数

type       静态信息类型,有效值包括{reset, malloc, maps, cachedump, slabs, items, sizes},依照一定规则协议这个可选参数是为了方便开发人员查看不同类别的信息而输入的标题

slabid   用于按指定类型联合设置 cache 堆为有效的片到堆中。缓存堆被被命令绑定到服务器上并被严格的用于调试用途

limit      用于按指定类型联合设置 cache 堆为输入的数字所限制的大小到堆,默认值为 100 

2.12.3.返回值

返回一个服务器静态信息数组,失败时返回 FALSE 

2.13.Memcache::getServerStatus

2.13.1. Beschreibung

int Memcache::getServerStatus ( string $host [, int $port ] )

Erhalten Sie die entsprechenden Serverinformationen, indem Sie den Host und den Port eingeben

2.13.2 Parameter

Host-Server-Domänenname oder IP

Port-Portnummer, der Standardwert ist 11211

2.13.3. Rückgabewert

gibt den Serverstatus zurück, 0 bedeutet Fehler, andernfalls wird eine Zahl ungleich 0 zurückgegeben

2.13 .4.Beispiel

Zusammenfassung des PHP-Memcaches

php
/*OO API */$memcache = neuMemcache;
$memcache->addServer('memcache_host' , 11211);
echo $memcache- > /* prozedurale API */$memcache =
memcache_connect ('memcache_host' , 11211);echo memcache_get_server_status( $memcache, 'memcache_host',
11211 );?>
2.14.Memcache ::getVersion
2.14.1. Beschreibung

stringZusammenfassung des PHP-MemcachesMemcache

::getVersion ( void)

Informationen zur Versionsnummer des Servers abrufen 2.14.2. RückgabewertDie Versionsnummer zurückgeben Zeichenfolge des Servers erfolgreich, fehlgeschlagen. Rückgabe FALSE 2.14.3. php

/*

OO API

*/

$memcache

=

Zusammenfassung des PHP-Memcachesneu

Memcache;$memcache
->connect('memcache_host' , 11211);echo $memcache
->getVersion();/* prozedurale API */$memcache
= memcache_connect('memcache_host', 11211
);
echo memcache_get_version($memcache);?>
2.15.Memcache::setCompressThreshold
bool Memcache::setCompressThreshold ( int
$threshold [

,Zusammenfassung des PHP-Memcaches

Float

$min_sparungen

] )

Einstellungen Komprimierungsgrenze2.15.2. ParameterSchwellenwert legt den Mindestwert der Variablenlänge fest, der die automatische Komprimierung steuert.min_ saving gibt die Mindestkomprimierung an Verhältnis, der Wert muss zwischen 0 und 1 liegen, der Standardwert ist 0,2, was einem Komprimierungsverhältnis von 20 % entspricht 2.15.3 Rückgabewert Gibt TRUE zurück, wenn erfolgreich, FALSE, wenn fehlgeschlagen.

2.15.4.范例

Zusammenfassung des PHP-Memcaches

php
/* OO API */$memcache_obj = neu Memcache;
$memcache_obj->addServer('memcache_host', 11211);
$memcache_obj->setCompressThreshold (20000, 0,2);
/*  prozedurale API */$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_compress_threshold(
$memcache_obj, 20000, 0,2);
?>

Zusammenfassung des PHP-Memcaches

2.16.Memcache::setServerParams

2.16.1.说明

bool Memcache::setServerParams ( string $host  [, int $port [, int  $timeout [, int $retry_interval [, bool $status [, Rückruf $failure_callback ]]]]] )

Memcache Version 2.1.0 后增加的函数,运行时设置服务器参数

2.16.2.参数

Host          超时连接失效的秒数,修改默认1 时要三思,有可能失去所有缓存方面的优势导致连接变得很慢

retry_interval    . 服务器连接失败时的重试频率, 默认是 15 秒一次, 如果设置为 -1 将禁止自动Laden Sie die Datei dynamisch über dl() herunter在失效前都有独自的生存期, 选择后端请求时会被跳过而不服务于请求.一个过期的连接将成功的重新连接或者被标记为失败的连接等待下一次 重试.这种效果就是说每一个 Webserver 的子进程在服务于页面时的重试连接都

Status   Geben Sie „retry_interval“ mit -1 an, um den Wert „retry_interval“ zu ermitteln服务器池子中, 对这个服务器的请求将失败, 接受设置为失败服务器的设置, 默认参数为 TRUE, 代表该服务器可以被定义为 online.

failure_callback    失败时的回调函数,函数的两个参数为失败服务器的 Hostname und Port 

2.16.3.返回值

成功返回 TRUE, 失败返回 FALSE。 

2. 16.4.范例

php
function _callback_memcache_failure($host, $port)
{
print " memcache '$host:$port' fehlgeschlagen";
}
/* OO API */$memcache = neu Memcache;
// Den Server im Offlinemodus hinzufügen$memcache->addServer('memcache_host', 11211 , FALSCH, 1,  1, -1,  FALSE);
// Bring den Server wieder online$memcache->setServerParams('memcache_host', 11211, 1, 15, WAHR, '_callback_memcache_failure');
/* prozedurale API */$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params(
$memcache_obj, 'memcache_host', 11211,  1, 15, TRUE, '_callback_memcache_failure');
?>

Zusammenfassung des PHP-Memcaches

2.17.Memcache::increment

2.17.1.说明

int Memcache ::inkrementieren ( Zeichenfolge $key [, int $value ] )

给指定 key 的缓存变量一个增值,如果该变量不是数字时不会被转化为数字,这个增值将会加到该变量原有的数字之上,变量不存在不会新增变量, 对于压缩存储的变量不要使用本函数因为相应的取值方法会失败. 

2.17.2.参数

key 缓存值的键

var 值,整型将直接存储,其他类型将被序列化存储 

2.17.3 🎜>

php

Zusammenfassung des PHP-Memcaches/*

 prozedurale API 

* /$memcache_obj
 = memcache_connect('memcache_host', 11211);/* Zähler um 2 erhöhen */$current_value
 = memcache_increment($memcache_obj, 'counter',  2);/* OO API */$memcache_obj
 = neu Memcache;$ memcache_obj->connect('memcache_host',
 11211);/* Zähler um 3 erhöhen */$current_value
 = $memcache_obj->increment('counter', 3);?>

Zusammenfassung des PHP-Memcaches

2.18.Memcache::decrement

2.18.2. Beschreibung

int Memcache::dekrementieren ( string $key [, int $value ] )

Geben Sie der Cache-Variablen des angegebenen Schlüssels einen Dekrementwert an. Dieser Wert wird von der ursprünglichen Variablen subtrahiert, nachdem er in eine Zahl umgewandelt wurde nicht kleiner als 0 sein. Verwenden Sie diese Funktion nicht zum Komprimieren gespeicherter Variablen, da die entsprechende Wertmethode fehlschlägt.

2.18.2. Parameter

Schlüssel des Cache-Werts

Var-Wert, Ganzzahltyp wird direkt gespeichert, andere Typen werden serialisiert und gespeichert

2.18.3. Rückgabewert

Gibt den neuen Variablenwert erfolgreich zurück und gibt bei einem Fehler FALSE zurück.

2.18.4. Beispiel

Zusammenfassung des PHP-Memcaches

php
/* prozedurale API */$memcache_obj =memcache_connect('memcache_host', 11211);
/* Element um 2 dekrementieren */$new_value = memcache_decrement($ memcache_obj, 'test_item', 2);
/* OO API */$memcache_obj = neuMemcache;
$memcache_obj->connect('memcache_host', 11211);
/* Element um 3 dekrementieren */$new_value = $memcache_obj->decrement('test_item', 3);
?>

Zusammenfassung des PHP-Memcaches

2.19.memcache_debug

2.19.1. Beschreibung

bool memcache_debug ( bool $on_off )

Legen Sie fest, ob der Memcache-Debugger aktiviert ist on ist der Wert TRUE oder FALSE. Abhängig davon, ob die Option --enable-debug während der PHP-Installation verwendet wird, gibt diese Funktion nur dann TRUE zurück, wenn sie verwendet wird, andernfalls gibt sie immer FALSE zurück.

2.19.2. Parameter

on_off legt fest, ob der Debugging-Modus aktiviert ist, TRUE ist aktiviert, FALSE ist deaktiviert

2.19.3 Rückgabewert

php gibt TRUE zurück, wenn die Option --enable-debug während der Installation verwendet wird, andernfalls wird FALSE zurückgegeben.

Das Obige ist eine Zusammenfassung des Memcaches von PHP, einschließlich seiner Aspekte. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:echo und var_dumpNächster Artikel:echo und var_dump