Bei Verwendung des Redis-Cache ist der Cache-Schlüsselwert ein Intervallwert (der verarbeitet werden kann), wenn eine Intervallnummer im Intervall übergeben wird. Wie findet man den entsprechenden Cache?

WBOY
Freigeben: 2023-03-02 13:04:01
Original
1669 Leute haben es durchsucht

Zum Beispiel:
Ich habe jetzt ein Array
Array (

<code>  '10000_20000'=>'上海',
  '20001_30200'=>'北京',
  '30201_30300'=>'天津',
  '30301_40000'=>'深圳'</code>
Nach dem Login kopieren
Nach dem Login kopieren

)
Jetzt möchte ich jeden Wert im Array im Redis-Cache speichern. Der Cache-Schlüsselwert kann nach jeder Verarbeitung der Array-Schlüsselwert sein. I Ich möchte einen Cache-Wert mit einem Schlüsselwert von 38000 im Cache finden. Gibt es eine gute Möglichkeit?

Bitte geben Sie mir eine Anleitung!

Antwortinhalt:

Zum Beispiel:

Ich habe jetzt ein Array
Array (

<code>  '10000_20000'=>'上海',
  '20001_30200'=>'北京',
  '30201_30300'=>'天津',
  '30301_40000'=>'深圳'</code>
Nach dem Login kopieren
Nach dem Login kopieren
)

Jetzt möchte ich jeden Wert im Array im Redis-Cache speichern. Der Cache-Schlüsselwert kann nach jeder Verarbeitung der Array-Schlüsselwert sein. I Ich möchte einen Cache-Wert mit einem Schlüsselwert von 38000 im Cache finden. Gibt es eine gute Möglichkeit?
Bitte geben Sie mir eine Anleitung!

//Wenn das Array viele Schlüssel, aber einen kleinen Wert hat, verwenden Sie eine geordnete Menge

<code>$redis->zAdd('key', 10000, '上海');
$redis->zAdd('key', 20001, '北京');
$redis->zAdd('key', 30201, '天津');
$redis->zAdd('key', 30301, '深圳');
$redis->zAdd('key', 40001, '非法');
$index = 38000;
$value = $redis->zRangeByScore('key', $index, '+inf', ['limit' => [0, 1]]); // 深圳</code>
Nach dem Login kopieren
Diese Daten sind unregelmäßig

Meine Idee ist, foreach den richtigen Teil herauszunehmen und die Größe zu vergleichen. Wenn sie größer oder gleich 3800 ist, brechen Sie aus der Schleife aus und geben Sie den aktuellen Schlüsselwert zurück .

Natürlich muss das Format mit dem übereinstimmen, was Sie jetzt haben, von klein bis groß

Es gibt eine Befehlszeile in redis-cli:keys [patten], patten kann ein regulärer Ausdruck sein, und der Befehl zum Suchen des Schlüssels, der mit 38000 endet, lautet:keys *38000. Die entsprechenden phpRedis-Methodennamen sind:keys, getKeys. Weitere Informationen finden Sie unter:keys&getKeys

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!