Heim > Artikel > Backend-Entwicklung > Zusammenfassung des PHP-Memcaches
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.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
ZeichenfolgeWenn beim Herstellen einer Verbindung zum Memcache-Server kein Port angegeben wird, wird dieser Standard-TCP-Port verwendet.
memcache.hash_strategystring
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_functionstring
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_handlerstring
Bestimmen Sie die Verwendung von Memcache für die Kommunikationssitzungsverarbeitung (Sitzungshandler), indem Sie diesen Wert auf Memcache setzen.
session.save_pathstring
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
bool Memcache ::connect ( string $host [, int $port [, int $timeout ]] )
Mit Memcache-Server verbinden
$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.
Gibt „true“ zurück, wenn es erfolgreich ist, false, wenn es fehlschlägt
php
/* prozedurale API * /$memcache_obj = memcache_connect('memcache_host', 11211);
/* OO API */$memcache = neu Memcache;
$memcache- > connect('memcache_host', 11211);
?> ;
2.2.Memcache::pconnect
bool Memcache::pconnect ( string $host [, int $port [, int $timeout ]] )
Verbindung zum Server im Dauerverbindungsmodus herstellen
$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.
Gibt „true“ zurück, wenn es erfolgreich ist, false, wenn es fehlschlägt
php/* prozedurale API */ $memcache_obj = memcache_pconnect('memcache_host', 11211);/* OO API */ $memcache_obj = neu Memcache;$memcache_obj ->pconnect('memcache_host', 11211); ?> ;
2.3.Memcache::close
bool Memcache::close (void)
Schließen Sie das Objekt (funktioniert nicht für ständige Verbindungen)
Gibt „true“ zurück, wenn erfolgreich, false, wenn fehlgeschlagen
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();
?>
2.4.Memcache::addServer
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)
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.返回值
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.
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
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,
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)
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
< ;?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);?>
2.6.Memcache::replace
bool Memcache ::replace ( string $key , gemischt $var [, int $flag [, int $expire ]] )
Ersetzen Sie den Cache-Variableninhalt eines angegebenen vorhandenen Schlüssels
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)
Gibt TRUE zurück, wenn erfolgreich, FALSE, wenn fehlgeschlagen.
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);
?>
2.7.Memcache: :set
bool Memcache::set ( string $key , gemischt $var [, int $flag [, int $expire ]] )
设置一个指定 key 的缓存变量内容
key 值,整型将直接存储,其他类型将被序列化存储,其值最大为1M
flag 会采用zlib压缩,只有有数据达到一定大小才对数据进行zlib压缩。(没有具体的测试数据进行压缩的最小值是多少)
expire 过期时间,0 为永不过期,可使用 Unix 时间戳格式或距离当前时间的秒数,设为秒数时不能大于 2592000 (30 天)
2.7.3.返回值
2.7.4.范例
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');?>
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');?>
2.8.Memcache::get
string Memcache::get ( string $key [, int &$flags ] )
array Memcache ::get ( array $keys [, array &$flags ] )
获取某个 key 的变量缓存值
key . 缓存值的键
Flags 🎜>
2.8.3.返回值返回缓存的指定 key 的变量内容或者是在失败或该变量的值不存在时返回 FALSE 如果传出的key的数组中的key都不存在,返回的结果是一个空数组,反之则返回key与缓存值相关联的关联数组2.8.4.范例
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'));
?>
bool Memcache::delete ( string $key [, int $timeout ] )
Zeitüberschreitung 除在30秒内 2.9.3.返回值成功返回 TRUE,失败返回 FALSE。2.9.4.范例
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);
?>
2.10.Memcache::flush
bool Memcache::flush ( void )
清空所有缓存内容,不是真的删除缓存的内容,只是使所有变量的缓存过期,使内存中的内容被重写
成功返回 TRUE,失败返回 FALSE.
< ;?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();
?>
2.11.Memcache::getExtendedStats
array Memcache::getExtendedStats ([ string $ Typ [, int $slabid [, int $limit ]]] )
获取所有服务器扩展静态信息
type 参数是为了方便开发人员查看不同类别的信息而输入的标题
slabid 被命令绑定到服务器上并被严格的用于调试用途
Limit >2.11.3.返回值
php
$memcache_obj = new Memcache;
$memcache_obj->addServer(‘memcache_host‘, 11211);
$memcache_obj->addServer(‘failed_host‘, 11211);
$stats = $memcache_obj->getExtendedStats(); print_r($stats);
?>
输出结果
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] =>
)
2.12.Memcache::getStats
array Memcache::getStats ([ string $type [, int $slabid [, int $limit ]]] )
获取最后添加服务器静态信息
type 静态信息类型,有效值包括{reset, malloc, maps, cachedump, slabs, items, sizes},依照一定规则协议这个可选参数是为了方便开发人员查看不同类别的信息而输入的标题
slabid 用于按指定类型联合设置 cache 堆为有效的片到堆中。缓存堆被被命令绑定到服务器上并被严格的用于调试用途
limit 用于按指定类型联合设置 cache 堆为输入的数字所限制的大小到堆,默认值为 100
返回一个服务器静态信息数组,失败时返回 FALSE
2.13.Memcache::getServerStatus
int Memcache::getServerStatus ( string $host [, int $port ] )
Erhalten Sie die entsprechenden Serverinformationen, indem Sie den Host und den Port eingeben
Host-Server-Domänenname oder IP
Port-Portnummer, der Standardwert ist 11211
gibt den Serverstatus zurück, 0 bedeutet Fehler, andernfalls wird eine Zahl ungleich 0 zurückgegeben
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 ::getVersion2.14.1. Beschreibung
stringMemcache
::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
neu
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 [
,
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.
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);
?>
2.16.Memcache::setServerParams
bool Memcache::setServerParams ( string $host [, int $port [, int $timeout [, int $retry_interval [, bool $status [, Rückruf $failure_callback ]]]]] )
Memcache Version 2.1.0 后增加的函数,运行时设置服务器参数
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。
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');
?>
2.17.Memcache::increment
int Memcache ::inkrementieren ( Zeichenfolge $key [, int $value ] )
给指定 key 的缓存变量一个增值,如果该变量不是数字时不会被转化为数字,这个增值将会加到该变量原有的数字之上,变量不存在不会新增变量, 对于压缩存储的变量不要使用本函数因为相应的取值方法会失败.
key 缓存值的键
var 值,整型将直接存储,其他类型将被序列化存储
/*
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);?>
2.18.Memcache::decrement
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.
Schlüssel des Cache-Werts
Var-Wert, Ganzzahltyp wird direkt gespeichert, andere Typen werden serialisiert und gespeichert
Gibt den neuen Variablenwert erfolgreich zurück und gibt bei einem Fehler FALSE zurück.
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);
?>
2.19.memcache_debug
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.
on_off legt fest, ob der Debugging-Modus aktiviert ist, TRUE ist aktiviert, FALSE ist deaktiviert
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.