草庐IT

hash_equals

全部标签

memory - 理解 hash 实现及其在 Redis 中的内存

从文档中我们知道Redis会对一定范围内的数据进行压缩(默认为512)。如果哈希范围超过512,那么内存差异将是10倍。我对从1到512的哈希值做了一个小实验,发现了一些有趣的模式。此图表示1000个哈希所占用的内存(以KB为单位),每个哈希包含从1到512不等的条目。正如您在此图中所见。在一定的时间间隔内存中有陡峭的。我知道redis中的哈希实现也遵循一些逻辑,当它达到一定范围时扩展大小,而不是为每个新条目增加它。从数字来看,它并没有始终遵循加倍模式,但从215到216它确实加倍了,从4MB到8MB。从420到421,它几乎增加了一半8MB到12MB。在215以内的陡坡中,我看不到它

memory - 理解 hash 实现及其在 Redis 中的内存

从文档中我们知道Redis会对一定范围内的数据进行压缩(默认为512)。如果哈希范围超过512,那么内存差异将是10倍。我对从1到512的哈希值做了一个小实验,发现了一些有趣的模式。此图表示1000个哈希所占用的内存(以KB为单位),每个哈希包含从1到512不等的条目。正如您在此图中所见。在一定的时间间隔内存中有陡峭的。我知道redis中的哈希实现也遵循一些逻辑,当它达到一定范围时扩展大小,而不是为每个新条目增加它。从数字来看,它并没有始终遵循加倍模式,但从215到216它确实加倍了,从4MB到8MB。从420到421,它几乎增加了一半8MB到12MB。在215以内的陡坡中,我看不到它

hash - 从redis中的哈希中获取子键

我在Redis中有一个散列,它有两个子键和相应的值:redis127.0.0.1:6379>hgetallhash-key1)"sub-key1"2)"value1"3)"sub-key2"4)"value2"如何从散列中仅获取子键,即“sub-key1”、“sub-key2”? 最佳答案 您需要使用HKEYS命令。看下面的例子:redis>HSETmyhashfield1"Hello"(integer)1redis>HSETmyhashfield2"World"(integer)1redis>HKEYSmyhash1)"field

hash - 从redis中的哈希中获取子键

我在Redis中有一个散列,它有两个子键和相应的值:redis127.0.0.1:6379>hgetallhash-key1)"sub-key1"2)"value1"3)"sub-key2"4)"value2"如何从散列中仅获取子键,即“sub-key1”、“sub-key2”? 最佳答案 您需要使用HKEYS命令。看下面的例子:redis>HSETmyhashfield1"Hello"(integer)1redis>HSETmyhashfield2"World"(integer)1redis>HKEYSmyhash1)"field

雷迪斯 : How can I sort my hash by keys?

假设我有一些新闻存储在哈希中。我有不同的哈希值(每个哈希值代表一个新闻):news:1news:2news:3...我想像这样使用KEYS命令检索所有key:KEYSnews:*key没有排序的问题:news:3news:1news:2我想以正确的顺序检索键列表。我不确定散列是我需要的结构。但是,根据redisdocumentation:RedisHashesaremapsbetweenstringfieldandstringvalues,sotheyaretheperfectdatatypetorepresentobjects(forinstanceUserswithanumbero

雷迪斯 : How can I sort my hash by keys?

假设我有一些新闻存储在哈希中。我有不同的哈希值(每个哈希值代表一个新闻):news:1news:2news:3...我想像这样使用KEYS命令检索所有key:KEYSnews:*key没有排序的问题:news:3news:1news:2我想以正确的顺序检索键列表。我不确定散列是我需要的结构。但是,根据redisdocumentation:RedisHashesaremapsbetweenstringfieldandstringvalues,sotheyaretheperfectdatatypetorepresentobjects(forinstanceUserswithanumbero

database - 雷迪斯 : How to set one key equal to the value of another key?

REDIS中是否有任何快速命令可以让我执行以下操作我想将键Y的值设置为等于键X的值。如何从Redis客户端执行此操作。我使用标准的Redis-cli客户端。基本上我正在寻找以下等价物-Y.Val()=X.Val() 最佳答案 您可以使用Lua脚本执行此操作:redis.call('SET',KEYS[2],redis.call('GET',KEYS[1]));return1;KEYS1是源keyKEYS2是目标键下面的例子使用了SCRIPTLOAD创建脚本并使用EVALSHA调用它传递以下参数:从脚本加载返回的SHA1将传递的键数为

database - 雷迪斯 : How to set one key equal to the value of another key?

REDIS中是否有任何快速命令可以让我执行以下操作我想将键Y的值设置为等于键X的值。如何从Redis客户端执行此操作。我使用标准的Redis-cli客户端。基本上我正在寻找以下等价物-Y.Val()=X.Val() 最佳答案 您可以使用Lua脚本执行此操作:redis.call('SET',KEYS[2],redis.call('GET',KEYS[1]));return1;KEYS1是源keyKEYS2是目标键下面的例子使用了SCRIPTLOAD创建脚本并使用EVALSHA调用它传递以下参数:从脚本加载返回的SHA1将传递的键数为

hash - 在 Redis 中交叉巨大的 HyperLogLogs 的最佳方法

问题很简单:我需要根据Redis的表示找到最佳策略来实现准确的HyperLogLog联合——这包括在数据结构导出以供其他地方使用时处理它们的稀疏/密集表示。两种策略有两种策略,其中一种似乎简单得多。我查看了实际的Redis源代码,我遇到了一些麻烦(我自己在C中并不大)弄清楚从精度和效率的角度来看使用他们的内置结构/例程还是开发我自己的更好.对于它的值(value),我愿意牺牲空间和某种程度的错误(stdev+-2%)来追求极大集合的效率。1。包容原则到目前为止,这是两者中最简单的一个——本质上,我只是将无损联合(PFMERGE)与此原理结合使用来计算重叠的估计值。测试似乎表明在许多情况

hash - 在 Redis 中交叉巨大的 HyperLogLogs 的最佳方法

问题很简单:我需要根据Redis的表示找到最佳策略来实现准确的HyperLogLog联合——这包括在数据结构导出以供其他地方使用时处理它们的稀疏/密集表示。两种策略有两种策略,其中一种似乎简单得多。我查看了实际的Redis源代码,我遇到了一些麻烦(我自己在C中并不大)弄清楚从精度和效率的角度来看使用他们的内置结构/例程还是开发我自己的更好.对于它的值(value),我愿意牺牲空间和某种程度的错误(stdev+-2%)来追求极大集合的效率。1。包容原则到目前为止,这是两者中最简单的一个——本质上,我只是将无损联合(PFMERGE)与此原理结合使用来计算重叠的估计值。测试似乎表明在许多情况