NLP | Stockage d`un dictionnaire ordonné dans Redis

| | | | | | |

classe RedisOrderedDict (collections.MutableMapping) :

def __ init__ ( soi , r, nom) :

soi ._ r = r

self ._name = encode_key (nom)

def __ iter __ ( self ):

return iter ( soi . items ())


def __ len __ ( self ):

return soi ._r.zcard ( soi ._ nom)


def __ getitem __ ( soi , clé) :

retour soi ._ r.zscore ( soi . _name, encode_key (clé))


def __ setitem __ ( soi , clé, score) :

self ._r.zadd ( soi ._ nom, encode_key (clé), score)

def __ delitem __ ( soi , clé) :

self ._ r.zrem ( self ._ name, e ncode_key (clé))


def clés ( self , start = 0 , end = - 1 ) :

# nous utilisons zrevrange pour trier les clés

# par valeur au lieu de

le plus bas

return self ._ r.zrevrange ( self ._ nom, début, fin)

def valeurs ( soi , start = 0 , end = - 1 ) :

return [v pour ( k, v) dans soi . éléments (début = début, fin = fin)]


def éléments ( soi , start = 0 , fin = - 1 ) :

retour soi ._ r.zrevrange ( soi ._ name, start, end, withscores = Vrai )

def obtenir ( soi , clé, défaut = 0 ) :

return self [clé] ou par défaut


def iteritems ( self ):

return iter ( soi )


def clair ( soi ) :

self ._ r.delete ( soi ._ nom)

Code : créez une instance RedisOrderedDict en transmettant une connexion Redis et un nom unique

de redis importer Redis

de rediscollections import RedisOrderedDict


r = Redis ()

tige = RedisOrderedDict (r, `test` )

rod.get ( ` bar` )

tige [ `bar` ] = 5.2

print (rod [ `bar` ])


print ( len (tige))


print (rod.items ())


tige. clear ()

Quitter :

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

La plupart du code peut sembler similaire ar à RedisHashMap, ce qui est normal puisqu’ils étendent tous les deux les collections. La principale différence est que RedisOrderedSet ordonne les clés par valeurs à virgule flottante et n’est donc pas adapté au stockage arbitraire de valeurs de clé telles que RedisHashMap.
Croquis expliquant chaque méthode clé et leur fonctionnement avec Redis :

  • __len __ () : la commande zcard est utilisée pour obtenir le nombre d’éléments dans un ensemble ordonné.
  • __getitem __ () : utilise la commande zscore pour obtenir le score d’une clé et renvoie 0 si la clé n’existe pas.
  • __ setitem __ () : cette commande utilise la commande zadd pour ajouter une clé à l’ensemble ordonné avec un score donné, ou mettre à jour le score si la clé existe déjà.
  • __delitem __ () : La commande zrem est utilisée pour supprimer une clé de l’ensemble ordonné.
  • keys () : La commande zrevrange est utilisée pour obtenir toutes les clés de l’ensemble ordonné triées par le score le plus élevé. Pour obtenir un extrait de clés ordonnées plus efficacement, il faut deux arguments de mots clés facultatifs, start et end.

NLP | Stockage d`un dictionnaire ordonné dans Redis __del__: Questions

NLP | Stockage d`un dictionnaire ordonné dans 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