python, redis : store on redis a multi-dimensional list. 最佳数据类型?

标签 python list redis

我需要像这样定期存储一个 python 列表

[
[1, ...],
[2, ...],
[3, ...],
[4, ...]
]
  1. 我需要让它在几秒钟后过期并添加新的(所以我想创建列表并使用我的 python 列表立即填充它)。
  2. 我需要检索特定范围的子列表,例如:[[2, ...], [3, ...]]

使用 this library我正在考虑使用 lpush 来一次创建和填充列表,expire 来设置创建和填充后的过期时间,lrange获取我的 python sub_list 的特定范围

我使用的是好的解决方案还是有更适合我需求的解决方案?

最佳答案

只用泡菜

# 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']]

'''

关于python, redis : store on redis a multi-dimensional list. 最佳数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46812748/

相关文章:

python - 将我的 virtualenv 目录放在我的 git 存储库中是不是很糟糕?

Python 使用列表时输入错误

python - datetime.fromisoformat 的文档示例引发无效的 isoformat 字符串错误

python - 如何使用条件合并python中列表中的元素?

php - 如何使用 cli 启用 php5-redis?

c - 是否可以在 FUSE 文件系统中使用 Linux VFS 缓存?

python - 有没有办法比较阿拉伯字符而不考虑它们的初始/中间/最终形式?

c# - 在 MySQL 数据库中存储 List<T> 数组

python - 调用嵌套函数后发生NameError

java - 如何使用 ElastiCache 作为 Camel 幂等存储库?