覆盖(替换)Python中的Redis列表的最佳方法

时间:2019-04-24 10:35:24

标签: python redis

我需要在Redis中存储python列表(顺序很重要)。目前,我使用以下代码执行此操作:

import redis
redis_conn = redis.StrictRedis(host='localhost', port=6379)

r = redis_conn.rpush('key', *a_python_list)

但是,我每次运行python脚本时都需要用新值覆盖(替换)当前键(当前存储的列表值),而不是将列表附加到该键的先前值上。我知道我可以通过删除存储的密钥并使用以下代码再次rpush删除列表来删除整个旧列表:

import redis
redis_conn = redis.StrictRedis(host='localhost', port=6379)

if redis_conn.exists('key'):
    redis_conn.delete(redis_key)

r = redis_conn.rpush('key', *a_python_list)

我想知道是否存在一个内置的redis命令(或更好的方法),用新的密钥列表替换现有列表,而不是附加密钥?

1 个答案:

答案 0 :(得分:-1)

你可以这样做:

example = {
    "id": 1,
    "description": "test"
}

json_example = json.dumps(example)

redis.set('example-key', json_example)

然后:

127.0.0.1:6379> get example-key
"{\"id\": 1, \"description\": \"test\"}"