只需要用鹹菜
# store_objects_in_redis.py
'''
Pickle (dumps) & set to store
Get & and unpickle (loads) to retrieve
#
Courtesy: Armin Ronacher, http://flask.pocoo.org/snippets/73/
'''
import redis
from pickle import loads, dumps
# Create client with default connection
client = redis.client.StrictRedis()
# An example complex object
stored_object = [{1,2,3}, {'a':1,'b':2,'c':3}, ['foo', 'bar']]
# store
client.set('obj', dumps(stored_object))
# retrieve
retrieved_object = loads(client.get('obj'))
# compare
print(stored_object==retrieved_object, '\n', stored_object, '\n', retrieved_object)
'''
Prints (Running in windows7)
== RESTART: K:/.../REDIS/store_objects_in_redis.py ==
True
[{1, 2, 3}, {'c': 3, 'b': 2, 'a': 1}, ['foo', 'bar']]
[{1, 2, 3}, {'c': 3, 'b': 2, 'a': 1}, ['foo', 'bar']]
'''
聽起來像是你應該存儲每個內部列表('[1,...]'等)的值(可能是編碼爲JSON或類似)。這些鍵應該是外部列表中的位置,也許前綴的是整個事物的名稱。這種訪問子列表很容易。 – Alfe
@Alfe,所以我應該使用(zadd)[http://redis-py.readthedocs.io/en/latest/#redis.Redis.zadd]?因爲我不認爲使用redis列表是可能的 – 91DarioDev
Redis也支持列表,但我僅將它用於字符串。對我的錘子,JSON解決方案看起來像一個釘子。但請隨時在本地存儲列表。你爲什麼認爲這是不可能的? – Alfe