如何使用Python按键顺序检索Redis数据库值
我有一个python应用程序,其中客户端使用grpc流从服务器逐行检索csv数据。每一行的数据都被添加到字典中,字典又被保存到redis数据库中。当我试图在一个单独的flask应用程序中从redis数据库中检索数据时,数据并没有按顺序出现,并且大部分时间都在重复。如何按键的顺序检索数据而不重复 客户如何使用Python按键顺序检索Redis数据库值,python,flask,redis,grpc,Python,Flask,Redis,Grpc,我有一个python应用程序,其中客户端使用grpc流从服务器逐行检索csv数据。每一行的数据都被添加到字典中,字典又被保存到redis数据库中。当我试图在一个单独的flask应用程序中从redis数据库中检索数据时,数据并没有按顺序出现,并且大部分时间都在重复。如何按键的顺序检索数据而不重复 客户 def run(): #Average number of comments metric average_num_comments = 0 response_count
def run():
#Average number of comments metric
average_num_comments = 0
response_count = 0
comment_count = 0
try:
conn = redis.StrictRedis(host='redis', port=6379)
conn.flushdb()
except Exception as ex:
print('Error:', ex)
while True:
with grpc.insecure_channel('redditserver:50051') as channel:
stub = route_guide_pb2_grpc.RouteGuideStub(channel)
responses = stub.SendRedditPost(route_guide_pb2.PostRequestReddit(response='Recieved'))
#Single post with most letters in title
lg_post_title = ''
for response in responses:
response_count += 1
comment_count = int(response.num_comments) + comment_count
average_num_comments = avg(response_count, comment_count)
if (len(response.title) > len(lg_post_title)):
lg_post_title = response.title
redisdict = {"Largest Post Title": lg_post_title, "Comment Count": comment_count, "Average No. Comments": average_num_comments}
try:
conn = redis.StrictRedis(host='redis', port=6379)
conn.hmset(response_count, redisdict)
except Exception as ex:
print('Error:', ex)
time.sleep(2)
烧瓶应用
[![@app.route('/')
def get_page():
data = ''
try:
conn = redis.StrictRedis(host='redis', port=6379, decode_responses=True)
for key in conn.scan_iter():
value = conn.hgetall(key)
data = value
time.sleep(2)
print("KEY: " + key, file=sys.stderr)
print(data, file=sys.stderr)
except Exception as ex:
data = 'Error:' + str(ex)
return render_template('index.html', x=data)][1]][1]
这就是你对Redis中的数据所做的一切吗?为什么不使用Redis Streams?@Guy Korland我计划使用这些数据使用JQuery实时更新网页。我不知道redis streams,我现在就试试,谢谢!