草庐IT

HASH_ALGORITHM

全部标签

ruby-on-rails - 参数错误 : odd number of arguments for Hash when trying to connect to redis

我正在尝试通过遵循thistutorial来让Rails连接到Redis.但是当我尝试$redis=Redis.new(:host=>'localhost',:port=>6379)或者甚至只是Redis.new。我也尝试了新的表示法(host:'localhost',port:6379)。Redis工作(通过redis-cli通过的ping-PONG测试)。ArgumentError:oddnumberofargumentsforHashfrom/var/lib/gems/1.9.1/gems/redis-2.1.1/lib/redis.rb:65:in`[]'from/var/li

java - Redis hash写入速度非常慢

我面临一个非常奇怪的问题:使用redis时我的写入速度非常糟糕(在理想情况下,写入速度应该接近RAM的写入速度)。这是我的基准:packageredisbenchmark;importredis.clients.jedis.Jedis;publicclassRedisBenchmark{privatestaticfinalStringREDIS_KEY="anon_id";privateJedisconn;privatelongwriteTimeNano=0;privateRandomStringstringGenerator;privateString[]fields;publicR

redis - 更改 hash-max-ziplist-entries 后,redis 哈希是否保留在 ziplist 中?

我正在运行一个redis实例,我在其中存储了很多具有整数字段和值的哈希值。具体来说,有很多形式的散列{1:,2:,...,~10000:}我最初使用hash-max-ziplist-entries的默认值运行redis:hash-max-ziplist-entries512hash-max-ziplist-value64redis使用了大约3.2GB的内存。然后我将这些值更改为hash-max-ziplist-entries10240hash-max-ziplist-value10000然后重启redis。我的内存使用率下降到大约480MB,但Redis使用了100%的CPU。我将值恢

algorithm - redis.h中的skiplistnode变量 "span"是什么意思?

在redis.h中,skipnode定义如下:typedefstructzskiplistNode{robj*obj;doublescore;structzskiplistNode*backward;structzskiplistLevel{structzskiplistNode*forward;unsignedintspan;}level[];}zskiplistNode;varspan是什么意思?这个var存储什么? 最佳答案 特定节点的span存储当前节点和当前级别的node->forward之间的节点数。span用于计算跳过

hash - 如何从 redis geohash 中删除一个项目?

Redis3.2支持geohash类型。GEOADDisusedtoaddkeys:>GEOADDrestaurants32.034.0Falafel(integer)1>GEOADDrestaurants32.134.1Pizza(integer)1GEORADIUS用于进行地理查询:>GEORADIUSrestaurants32.0534.05100kmWITHDIST1)1)"Falafel"2)"7.2230"2)1)"Pizza"2)"7.2213"但是,HDEL似乎不起作用:>HDELrestaurantsFalafel(error)WRONGTYPEOperationag

hash - 一致性哈希作为扩展写入的一种方式

我想弄清楚我是否在正确的轨道上。我正在构建一个(实时)统计/分析服务,我使用Redis来存储一些集合和哈希值。现在让我们假设我取得了一些成功并且我需要扩展。hashring技术看起来不错,但我的印象是它只适用于缓存场景。如果一个节点宕机了怎么办?理论上,它的key现在由其他节点拥有。实际上,他们不会有数据。它丢失了,对吧?与添加/删除节点相同。我是否遗漏了一些基本的东西?这会是一个穷人的集群吗? 最佳答案 在集群中使用多个节点有两个原因:分片以限制每个节点上存储的数据量复制以减少读取负载并允许在不丢失数据的情况下删除节点。两者根本不

hash - ServiceStack Entities Id 字段名称

我使用ServiceStack并希望将对象作为散列存储在Redis中并通过ID访问它们的部分(字段)而不序列化整个对象,所以我有一个问题:有没有办法使用除“Id”之外的其他属性来标记id字段?我我正在使用命名约定,其中id字段被命名为“classname+Id”。所以在User类中会有UserIdid字段,在ItemclassItemId等。是一种更新对象中已更改属性的方法无需将整个对象序列化为散列且无需低级使用Redis的哈希命令进行操作?例如,通过使用某种lambda。Useruser=client.GetById(userId);user.Name="Newname";clien

Redis hash结构在集群模式下占用内存较多

哈希:./redis-cli-c-p7000hlen0(integer)7746812./redis-cli-c-p7000hlen1(integer)7746812./redis-cli-c-p7000hlen2(integer)7746812./redis-cli-c-p7000hlen3(integer)7746812./redis-cli-c-p7000hlen4(integer)7746812./redis-cli-c-p7000hlen5(integer)0每个散列的内存:./redis-cli-c-p7000keys'*'1)"3"./redis-cli-c-p7000m

hash - 过滤 Redis 哈希条目

我正在使用Redis来存储每个哈希约10万条记录的哈希。我想在给定的哈希中实现过滤(分面)记录。请注意,一个哈希条目可以属于n个过滤器。看完this和this看起来我应该:为每个过滤器实现一个排序的SET。SET中的值对应于HASH中的键。从给定的过滤器SET中检索HASH键。一旦我从SET中获得HASH键,就从HASH中获取相应的条目。这应该给我所有属于过滤器的条目。首先,上述方法在高层次上是否正确?假设该方法没问题,但我缺少的一点是检索HASH条目的最有效实现是什么?我的想法是否正确,一旦我有了HASH键,我就应该使用PIPELINE对通过每个HASH键的多个HGETALL命令进行

ruby-on-rails-3 - 在 Rails 应用程序上将 HASH 保存到 Redis

我刚开始使用RediswithRails,所以这可能是一个愚蠢的问题。我正在尝试将哈希保存到Redis服务器,但当我检索它时,它只是一个字符串IE。hash={"field"=>"value","field2"=>"value2"}$redis.set('data',hash)#Socollectingthedata@data=$redis.get('data')这显然是错误的,因为它以字符串形式返回。我也试过循环一些结果并使用hsetie。@data.eachdo|d|$redis.hset('data',d.field,d.value)end#errror#ERROperation