NLP | Speichern eines bestellten Wörterbuchs in Redis

| | | | | | |

class RedisOrderedDict (collections.MutableMapping):

def __ init__ ( self , r, name):

self ._ r = r

self ._name = encode_key (name)

def __ iter __ ( self ):

return iter ( self . items ())


def __ len __ ( self ):

return self ._r.zcard ( self ._ name)


def __ getitem __ ( self , key):

return self ._ r.zscore ( self ._name, encode_key (Schlüssel))


def __ setitem __ ( self , Tonart, Partitur):

self ._r.zadd ( self ._ name, encode_key (key), score)

def __ delitem __ ( self , Schlüssel):

self ._ r.zrem ( self ._ name, e ncode_key (key))


def Tasten ( self , start = 0 , end = - 1 ):

# Wir verwenden zrevrange, um Schlüssel zu sortieren

# nach Wert statt

niedrigste

return self ._ r.zrevrange ( self ._ name, start, end)

def Werte ( self , start = 0 , end = - 1 ):

return [v für ( k, v) in self . Elemente (Start = start, end = end)]


def items ( self , start = 0 , end = - 1 ):

zurück self ._ r.zrevrange ( self ._ name, start, end, withscores = True )

def get ( self , key, default = 0 ):

return self [key] oder default


def iteritems ( self ):

return iter ( self )


def clear ( self ):

self ._ r.delete ( self ._ name)

Code: Erstellen Sie eine RedisOrderedDict-Instanz, indem Sie eine Redis-Verbindung und einen eindeutigen Namen übergeben

from redis import redis

aus Rediscollections import RedisOrderedDict


r = Redis ()

rod = RedisOrderedDict (r, `test` )

rod.get ( ` bar` )

Stange [ `bar` ] = 5.2

print (rod [ `bar` ])


print ( len (rod))


print (rod.items ())


rod. clear ()

Exit:

 0 5.2000000000000002 1 [(b`bar`, 5.2)] 

Der Großteil des Codes könnte ähnlich aussehen ar zu RedisHashMap, was zu erwarten ist, da beide Sammlungen erweitern. Der Hauptunterschied besteht darin, dass RedisOrderedSet Schlüssel nach Fließkommawerten ordnet und daher nicht für die willkürliche Speicherung von Schlüsselwerten wie RedisHashMap geeignet ist.
Skizzen, die jede Schlüsselmethode erklären und wie sie mit Redis funktionieren:

  • __len __ (): Der zcard-Befehl wird verwendet, um die Anzahl der Elemente zu erhalten ein bestellter Satz.
  • __getitem __ (): verwendet den zscore-Befehl, um die Punktzahl für einen Schlüssel zu erhalten, und gibt 0 zurück, wenn der Schlüssel nicht existiert.
  • __ setitem __ (): Dieser Befehl verwendet den zadd-Befehl, um einen Schlüssel zum geordneten Satz mit einer bestimmten Punktzahl hinzuzufügen oder die Punktzahl zu aktualisieren, wenn der Schlüssel bereits existiert.
  • __delitem __ (): Der Befehl zrem wird verwendet, um einen Schlüssel aus dem bestellten Satz zu entfernen.
  • keys (): Der Befehl zrevrange wird verwendet, um alle Schlüssel in der geordneten Menge nach der höchsten Punktzahl sortiert zu bekommen. Um einen Ausschnitt geordneter Schlüssel effizienter zu erhalten, sind zwei optionale Schlüsselwortargumente erforderlich, start und end.

NLP | Speichern eines bestellten Wörterbuchs in Redis __del__: Questions

NLP | Speichern eines bestellten Wörterbuchs in Redis __delete__: Questions

Shop

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Best laptop for Zoom

$499

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News

Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method