Memcached::cas

(PECL memcached >= 0.1.0)

Memcached::casCompare and swap an item

Beschreibung

public Memcached::cas(
    float $cas_token,
    string $key,
    mixed $value,
    int $expiration = ?
): bool

Memcached::cas() performs a "check and set" operation, so that the item will be stored only if no other client has updated it since it was last fetched by this client. The check is done via the cas_token parameter which is a unique 64-bit value assigned to the existing item by memcache. See the documentation for Memcached::get*() methods for how to obtain this token. Note that the token is represented as a double due to the limitations of PHP's integer space.

Parameter-Liste

cas_token

Unique value associated with the existing item. Generated by memcache.

key

Der Schlüssel, unter dem der Wert abgelegt werden soll.

value

Der zu speichernde Wert.

expiration

Die Verfallszeit, Vorgabewert ist 0. Siehe Verfallszeiten für weiterführende Informationen.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben. The Memcached::getResultCode() will return Memcached::RES_DATA_EXISTS if the item you are trying to store has been modified since you last fetched it.

Beispiele

Beispiel #1 Memcached::cas() example

<?php
$m 
= new Memcached();
$m->addServer('localhost'11211);

do {
    
/* fetch IP list and its token */
    
$ips $m->get('ip_block'null$cas);
    
/* if list doesn't exist yet, create it and do
       an atomic add which will fail if someone else already added it */
    
if ($m->getResultCode() == Memcached::RES_NOTFOUND) {
        
$ips = array($_SERVER['REMOTE_ADDR']);
        
$m->add('ip_block'$ips);
    
/* otherwise, add IP to the list and store via compare-and-swap
       with the token, which will fail if someone else updated the list */
    
} else { 
        
$ips[] = $_SERVER['REMOTE_ADDR'];
        
$m->cas($cas'ip_block'$ips);
    }   
} while (
$m->getResultCode() != Memcached::RES_SUCCESS);

?>

Siehe auch

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Was genau bedeutet "Vibe Coding"? Ein tiefgehender Blick für Entwickler

In der Welt der Softwareentwicklung gibt es unzählige Wege, wie man an ein Projekt herangeht. Manche schwören auf strikte Planung, andere auf bewährte Algorithmen und wieder andere lassen sich von etwas ganz anderem leiten: ihrem Gefühl. ...

admin

Autor : admin
Kategorie: Software & Web-Development

PHP cURL-Tutorial: Verwendung von cURL zum Durchführen von HTTP-Anfragen

cURL ist eine leistungsstarke PHP-Erweiterung, die es Ihnen ermöglicht, mit verschiedenen Servern über verschiedene Protokolle wie HTTP, HTTPS, FTP und mehr zu kommunizieren. ...

TheMax

Autor : TheMax
Kategorie: PHP-Tutorials

Midjourney Tutorial - Anleitung für Anfänger

Über Midjourney, dem Tool zur Erstellung digitaler Bilder mithilfe von künstlicher Intelligenz, gibt es ein informatives Video mit dem Titel "Midjourney Tutorial auf Deutsch - Anleitung für Anfänger" ...

Mike94

Autor : Mike94
Kategorie: KI Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

SEO-URLs und MySQL

Wow, SEO-gerechte URLs, ein Kaninchenbau! Da habe ich auch schon geschwitzt. Datenbankgenerierte Inhalte und URLs, eine klassische Herausforderung ...

Geschrieben von AnabelCollins am 20.12.2025 06:18:51
Forum: SQL / Datenbanken
Probleme mit einfacher Login-Funktion

Könnte einer von euch vielleicht einen Codeschnipsel posten ​ Codeschnipsel ohne Ende inkl. Tutorials zu finden unter https://www.google.com/se ...

Geschrieben von scatello am 17.12.2025 16:31:54
Forum: HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
Probleme mit einfacher Login-Funktion

Zuerst einmal: du bist im falschen Board, das gehört eigentlich in das PHP-Board Wenn es nicht funktioniert, dann wird das wohl so sein. Auf ...

Geschrieben von Duztin am 17.12.2025 15:49:15
Forum: HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
Daten aus einer text-Datei auslesen

Soetwas gehört aber nicht in eine Text-Datei, denn wenn jemand diese Datei per URL aufruft, kann man die Daten lesen. Daher sollte man eine eigen ...

Geschrieben von scatello am 15.12.2025 10:15:55
Forum: PHP Developer Forum