如何将infinity从python传递给redis?
我正在使用redis py,希望使用-inf和inf与ZRANGEBYSCORE。我尝试使用inf的string和float来实现这一点,但它们返回的是一个空集。我该怎么做 编辑 我尝试执行以下命令:如何将infinity从python传递给redis?,python,redis,range,infinity,sortedset,Python,Redis,Range,Infinity,Sortedset,我正在使用redis py,希望使用-inf和inf与ZRANGEBYSCORE。我尝试使用inf的string和float来实现这一点,但它们返回的是一个空集。我该怎么做 编辑 我尝试执行以下命令: redis.StrictRedis.ZRANGEBYSCORE("SORTEDSET", "-inf", "inf") 或 redis.StrictRedis.ZRANGEBYSCORE("SORTEDSET", float("-inf"), float("inf")) 更新 我的错误是,
redis.StrictRedis.ZRANGEBYSCORE("SORTEDSET", "-inf", "inf")
或
redis.StrictRedis.ZRANGEBYSCORE("SORTEDSET", float("-inf"), float("inf"))
更新
我的错误是,我对zrangebyscore的抽象错误地使用了zrange…inf的工作原理如下。这是我的代码,已经过测试:
import unittest
from redis import Redis
class RedisTest(unittest.TestCase):
def setUp(self):
self.redis = Redis()
def test_zrangebyscore(self):
r = self.redis
name = 'myset'
r.zadd(name, 'one', 1)
r.zadd(name, 'two', 2)
r.zadd(name, 'three', 3)
r.zadd(name, 'four', 4)
self.assertTrue(r.zrangebyscore(name, '-inf', '+inf') == ['one', 'two', 'three', 'four'])
self.assertTrue(r.zrangebyscore(name, 1, 1) == ['one'])
self.assertTrue(r.zrangebyscore(name, 1, 2) == ['one', 'two'])
self.assertTrue(r.zrangebyscore(name, 2, 3) == ['two', 'three'])
self.assertTrue(r.zrangebyscore(name, '(1', '(2') == [])
self.assertTrue(r.zrangebyscore(name, '(1', '(3') == ['two'])
你能发布你尝试过的代码段吗,仅仅是一个命令?是的,它可以工作,谢谢,我的抽象错误地使用了zrange。