所以我正在开发一个基于 Flask 的简单网络服务器,它存储并稍后显示我通过邮寄电话收到的一些信息。
无论如何,我收到的信息是这样存储的:
@app.route('client/<client_id>/', methods=['POST'])
def status(client_id):
r_server=redis.Redis("127.0.0.1")
jsonobj=request.data
data=json.loads(jsonobj)
result = {
'client_id': client_id
'current test': data[0]
'status': data[1]
}
return
现在我想要的是将其保存到 redis 中,同时将 client_id 当前测试和状态链接在一起。
有没有一种简单的方法可以将它存储在 redis 中并稍后接收它,我可以使用 client_id 查看操作?
问候
最佳答案
如果特定 client_id 的信息是可覆盖的,您可以使用 Redis 哈希 (http://redis.io/commands/hmset)。示例:
>>> r=redis.Redis('')
>>> r.hmset('ClientID:127.0.0.1', {'test':'1', 'status':'success'})
True
>>> r.hmget('ClientID:127.0.0.1',['test','status'])
['1', 'success']
如果必须附加记录,您可以将每条记录转储为字符串,并保存在 Redis 列表中。示例:
>>> r.rpush('ClientID:127.0.0.1', json.dumps({'test':'1', 'status':'success'}))
1L
>>> r.rpush('ClientID:127.0.0.1', json.dumps({'test':'2', 'status':'failure'}))
2L
>>> [json.loads(x) for x in r.lrange('ClientID:127.0.0.1', 0, -1)]
[{u'test': u'1', u'status': u'success'}, {u'test': u'2', u'status': u'failure'}]
关于python - redis, python 和一个存储信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23422992/