一尘不染

存储PostgreSQL时间戳作为分数到redis排序通过redis-py设置:DataError

redis

我将PostgreSQL时间戳存储到使用redis-py的redis排序集中。

时间戳记用作得分,数据用作值。

我需要按降序对集合进行排序,但是我无法将数据插入Redis中,我不知道如何转换为Redis支持的格式。这是代码:

  cursor.execute("select current_timestamp;");
  timestamp_raw=cursor.fetchone()
  redis_client.zadd("stream",{data:timestamp_raw})

错误如下

.....\AppData\Local\Programs\Python\Python38-32\lib\site-packages\redis\connection.py", line 117, in encode
raise DataError("Invalid input of type: '%s'. Convert to a "redis.exceptions.DataError: Invalid input of type: 'tuple'. Convert to a byte, string or number first.

如何去爱它?


阅读 488

收藏
2020-06-20

共1个答案

一尘不染

在Psycopg2中,timestamptz作为日期时间和FixedOffsetTimezone的元组返回。

您需要将元组转换为浮点数,以便可以将其用作分数。

2020-06-20