Πώς να εξοικονομήσετε περίπλοκη δομή δεδομένων στο Ρέντη;

ψήφοι
1

Είμαι νέος σε python. Παίρνω τα σφάλματα κατά την εκτέλεση του κωδικού μου:

import redis

def redisSave(case, key, ob):
    dataBase = None
    if case == 'Product':
        dataBase = redis.Redis(db=0)
        dataBase.set(key, ob)
        dataBase.expire(key, time=600)
    else:
        pass

dictOb = {
    'price': '2000 $',
    'weight': '50 lb'
}
redisSave('Product', 'first', dictOb)

Λέει ότι ο τύπος εισόδου είναι άκυρο (redis.exceptions.DataError)

Δημοσιεύθηκε 24/10/2019 στις 12:02
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
1

Δοκίμασε αυτό:

def redis_save(case, key, obj):
    data_base = None

    if case == 'Product':
        data_base = redis.Redis(db=0)

        if isinstance(obj, dict):
            data_base.hmset(key, obj)
            data_base.expire(key, time=600)

Πρόσβαση στα δεδομένα: data_base.hgetall('first')

Αποτέλεσμα:

{
    b'price': b'2000 $',
    b'weight': b'50 lb'
}
Απαντήθηκε 24/10/2019 στις 12:04
πηγή χρήστη

ψήφοι
0

Θα μπορούσατε επίσης να αποθηκεύσετε τα δεδομένα ως JSON-χωματερή ή ως τουρσί αντικείμενο . Δείτε: πώς να αποθηκεύουν ένα σύνθετο αντικείμενο σε Redis (χρησιμοποιώντας Redis-py) .

Απαντήθηκε 24/10/2019 στις 12:08
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more