Heim  >  Artikel  >  Backend-Entwicklung  >  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?

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
WBOYOriginal
2016-12-01 01:27:461672Durchsuche

Zum Beispiel:
Ich habe jetzt ein Array
Array (

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

)
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>
)

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>
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

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