Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在redis中存储带或不带哈希的键值对_Python_Performance_Hash_Redis_Key Value Store - Fatal编程技术网

Python 在redis中存储带或不带哈希的键值对

Python 在redis中存储带或不带哈希的键值对,python,performance,hash,redis,key-value-store,Python,Performance,Hash,Redis,Key Value Store,我通过客户端将键值对存储在Redis数据库中。所有键都是唯一的,没有重复项。下面是一个例子: key = 133735570 value = {"key":133735570,"value":[[141565041,1.2],[22592300,1.0],[162439394,1.0],[19397942,1.0],[79996146,1.0],[84352985,1.0],[123276403,1.0],[18356816,1.0],[113839687,1.0],[16235789,1.0]

我通过客户端将键值对存储在Redis数据库中。所有键都是唯一的,没有重复项。下面是一个例子:

key = 133735570
value = {"key":133735570,"value":[[141565041,1.2],[22592300,1.0],[162439394,1.0],[19397942,1.0],[79996146,1.0],[84352985,1.0],[123276403,1.0],[18356816,1.0],[113839687,1.0],[16235789,1.0],[144779115,1.0],[94628304,1.0],[134973120,1.0],[138501363,1.0],[34351681,1.0],[80202522,1.0],[81561595,1.0],[18913677,1.0],[130488590,1.0],[128208311,1.0],[93912155,0.5]]}
添加散列(与密钥名相同)会提高性能吗?比如说,

key = 133735570
hash = 133735570
value = {"key":133735570,"value":[[141565041,1.2],[22592300,1.0],[162439394,1.0],[19397942,1.0],[79996146,1.0],[84352985,1.0],[123276403,1.0],[18356816,1.0],[113839687,1.0],[16235789,1.0],[144779115,1.0],[94628304,1.0],[134973120,1.0],[138501363,1.0],[34351681,1.0],[80202522,1.0],[81561595,1.0],[18913677,1.0],[130488590,1.0],[128208311,1.0],[93912155,0.5]]}

我的要求是查找密钥,以便从中检索相应的值。

您可以尝试在数据结构中存储密钥-值对(示例中的值部分)(其中,密钥对的键部分将存储为哈希字段,值部分存储为哈希值;签出)它对于数据操作更灵活,可能比普通值字符串更灵活。

您可以尝试在数据结构中存储键值对(示例中的值部分)(其中,键值对的键部分将存储为哈希字段,值部分存储为哈希值;签出)哪个对数据操作更灵活,可能比普通值字符串更灵活。

所以,我应该使用redisObject.hmset(key,value)而不是当前的redisObject.hset(key,key,value)?注意:没有重复的钥匙。它仍然有助于提高内存效率吗?哦,那么你已经在使用哈希了?HMSET允许您在一个操作中将多个字段/值对设置为哈希。根据这篇文章,它应该是内存有效的,但只有一种方法可以确定,所以您可能必须尝试一下。因此,我应该使用redisObject.hmset(key,value)而不是当前的redisObject.hset(key,key,value)?注意:没有重复的钥匙。它仍然有助于提高内存效率吗?哦,那么你已经在使用哈希了?HMSET允许您在一个操作中将多个字段/值对设置为哈希。根据这篇文章,它应该是内存有效的,但只有一种方法可以确保,所以你可能不得不尝试一下。