2016-08-27 5 views
0

Ich habe zwei verschiedene Schlüssel (KeyA und KeyB), die ihre eine Liste von Zahlen enthält. Ich möchte die Liste in KeyA mit KeyB übereinstimmen und nur die eindeutige Nummer aus der Liste in KeyA abrufen. Ist es möglich? Danke im Voraus.Redis - So erhalten Sie die Unterscheidung zwischen zwei Liste

+0

vielleicht interessant? http://redis.io/commands/sinter –

+0

Danke Ryan. Es hat mir geholfen. – cbu

Antwort

1

Es gibt keinen nativen Befehl, der Redis-Listen schneidet. Sie könnten das in einem serverseitigen Lua-Skript tun, aber die Leistung wäre so, weil Listen keine konstante Nachschlagezeit für irgendetwas außer deren Enden bieten.

Ein besserer Weg wäre, einen Satz für jede Liste zu behalten, wobei die Elemente der Liste dem Satz hinzugefügt werden. Dann können Sie alle Set-Operationen für die Sets verwenden, speziell SINTER in Ihrem Fall.

+0

Vielen Dank. Ich werde es versuchen Ich werde es dich wissen lassen. Ich denke, [SINTERSTORE] (http://redis.io/commands/sinterstore) könnte perfekt sein für das, was ich tun möchte. – cbu

+0

Es hat funktioniert !. In meinem Fall ist die Funktion, die ich verwenden muss: [SDIFF] (http://redis.io/commands/sdiff) und [SDIFFSTORE] (http://redis.io/commands/sdiffstore), weil ich gesucht habe der Unterschied zwischen 2 Satz nicht die Kreuzung. Vielen Dank für Ihre Hilfe. – cbu

Verwandte Themen