我有一个问题:
我在使用Python中的Redis服务器的hset()
过程。该过程的描述在这里。
现在,我无法理解参数value
... 一方面,它应该是0或1,但是我也可以使用其他数字作为此参数(我在网络上也找到了其他值的示例)。例如,我定义以下函数:
def setHashKeyValue(key, value, number):
assert (key != None), "Please, get a key"
#assert (number == 0 or number ==1), "Please enter 0 or 1"
redis_server.hset(key, value, number);
下面这些参数,我得到了正确的输出结果:
setHashKeyValue('5', 'test ok for key 5', 1)
setHashKeyValue('6', 'test ok for key 6', 1)
另一方面,我想定义一些循环进行时间测量,因此我定义了以下def函数:
def loopKeyValues(number):
timeUse = []
for x in range(number):
start = time.time()
setHashKeyValue(x, x**2, 1)
end = time. time()
timeUse.append(end-start)
plt.plot(timeUse)
plt.ylabel("time")
plt.show()
return timeUse;
and
print loopKeyValues(1000)
这个函数给我返回了一个关于HashValue的错误信息:
redis.exceptions.ResponseError: WRONGTYPE Operation against a key holding the wrong kind of value
当我使用
set()
代替hset()
时,程序返回了一个漂亮的时间图。这里可能存在问题,参数value
是什么意思?