如何使用Python按键顺序检索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

我有一个python应用程序,其中客户端使用grpc流从服务器逐行检索csv数据。每一行的数据都被添加到字典中,字典又被保存到redis数据库中。当我试图在一个单独的flask应用程序中从redis数据库中检索数据时,数据并没有按顺序出现,并且大部分时间都在重复。如何按键的顺序检索数据而不重复

客户

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,我现在就试试,谢谢!