hset()for python中的redis
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了hset()for python中的redis,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1549字,纯文字阅读大概需要3分钟。
内容图文
我有下一个问题:
我在python中使用Redis Server的hset()过程.该过程描述为here.
好吧,现在我无法理解参数值……一方面它应该是一个数字0或1,无论如何我也可以使用其他数字作为这个参数(我也在net中找到其他值的例子).例如我定义下一个def:
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;
和
print loopKeyValues(1000)
此函数返回给我一个HashValue的错误消息:
redis.exceptions.ResponseError: WRONGTYPE Operation against a key holding the wrong kind of value
当我使用set() – def而不是hset()时,程序会给我一个很好的时间图.这里有什么问题,参数值是什么意思?
解决方法:
value参数只是哈希对象条目的键.
散列对象就像Python字典.它们提供关联数组.当你写:
redis_server.hset(key, value, number)
这意味着将使用条目“value”/“number”添加/设置散列对象“key”.在Python中,你会写:
key[value] = number
您收到错误,因为在Redis中键入了对象.在给定键存储字符串后,Redis不再考虑此对象是哈希对象:因此与哈希对象关联的操作将不适用于此键.
换句话说,如果你有:
SET 10 100
那么你做不到:
HSET 10 100 1
但是你可以这样做:
DEL 10
HSET 10 100 1
我建议在使用Python脚本之前使用redis-cli程序来试验Redis.
内容总结
以上是互联网集市为您收集整理的hset()for python中的redis全部内容,希望文章能够帮你解决hset()for python中的redis所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。