2016-07-12 14 views
0

Ich arbeite an einem Python-Projekt mit redis, nach ein paar Recherchen habe ich nichts gefunden, die erklären, wie man eine get() auf eine Zeichenfolge mit einem Platzhalter '*' machen.Redis Wildcard-Schlüssel auf get

Also habe ich ein paar Tasten:

example.first 
example.second 

Ich möchte die Schlüssel/Werte von example.first und example.second erhalten:

mymap = r_server.hgetall('example.*') 

Gibt es eine Möglichkeit, es zu tun ?

Antwort

3

Nach tiefer in der Dokumentation zu lesen, fand ich diese:

mymap = r_server.keys(pattern='example.*') 

Wenn das jemand helfen kann!

+2

Das tiefe Lesen ist immer gut, jedoch ist der Redis 'KEYS' Befehl gefährlich (lesen Sie den [doc] (http://redis.io/commands/keys) und sollte nicht verwendet werden. Falls nötig, wird [' SCAN' ] (http://redis.io/commands/scan) ist eine bessere Alternative, aber was Sie wirklich tun sollten, ist Ad-hoc-Muster-basierte Suche nach Schlüsselnamen vollständig zu vermeiden. –

+0

Danke für die Antwort, in meinem Fall, ich habe nicht die Wahl, Wildcard zu verwenden, aber du hast recht mit keys(), ich werde einen Blick auf SCAN() werfen. –