Heim  >  Artikel  >  Datenbank  >  Wie Redis die Liste speichert

Wie Redis die Liste speichert

(*-*)浩
(*-*)浩Original
2019-11-28 10:29:274699Durchsuche

Wie Redis die Liste speichert

Ich bin bei der Arbeit auf ein Problem gestoßen, da Geschäftsanforderungen eine Redis-Beschleunigung erfordern. Wie kann also die in Redis gespeicherte Liste vollständig gespeichert und dann vollständig entfernt werden? (Empfohlenes Lernen: Redis-Video-Tutorial)

Wenn Sie die Listenspeichermethode von Redis verwenden, durchlaufen Sie die Elemente in der Liste = [1,2,3,4] nacheinander. Nehmen Sie es heraus und Verwenden Sie dann die LPush-Methode, um die Elemente einzeln zu speichern. Wenn Sie am Ende den vollständigen lrange('name',0,-1) zum Herausnehmen verwenden, werden Sie feststellen, dass die herausgenommene Liste zu einem str wird. Zum Beispiel (list = '[1,2,3,4]') ist dies sehr mühsam zu handhaben.

Nach ständigen Versuchen habe ich eine relativ einfach zu verwendende Bibliothek pickle gefunden.

Der Vorteil von pickle besteht darin, dass der Serialisierungsprozess konvertiert wird Textinformationen in einen binären Datenstrom umwandeln. Auf diese Weise können die Informationen problemlos auf der Festplatte gespeichert werden. Wenn eine Datei gelesen werden muss, werden die Daten von der Festplatte gelesen und dann deserialisiert, um die Originaldaten zu erhalten.

Ich habe während der Ausführung des Python-Programms einige Zeichenfolgen, Listen, Wörterbücher und andere Daten erhalten, die ich für eine zukünftige Verwendung speichern möchte, anstatt sie einfach in den Speicher zu legen Beim Ausschalten der Stromversorgung gehen die Daten verloren.

Das Pickle-Modul in der Python-Modulsammlung ist praktisch, es kann Objekte in ein Format konvertieren, das übertragen oder gespeichert werden kann. Dadurch wird die Integrität der gespeicherten und abgerufenen Daten sichergestellt.

from redis import StrictRedis
# 选取一个默认的redis的db仓库
db = StrictRedis(host='localhost', port=6379, db=0,decode_responses=True)
#导入pickle包
import pickle
 
list = [1,2,3,4]
 
# pickle 封装list
new_list = pickle.dumps(list)
 
# redis中存储数据,设置过期时间
db.setx('list',3600,new_list)
 
result = db.get('list')
 
get_list = pickle.loads(result)
 
print(get_list)
# get_list = [1,2,3,4]

Nach der Verarbeitung mit Pickle werden Sie feststellen, dass die extrahierte Liste viel einfacher zu verwenden ist. Sie müssen sich nicht mehr um die Datenkonvertierung kümmern und können auch JSON-Daten und andere Datentypen verarbeiten.

Weitere technische Artikel zum Thema Redis finden Sie in der Spalte Redis Getting Started Tutorial.

Das obige ist der detaillierte Inhalt vonWie Redis die Liste speichert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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