草庐IT

hash_key

全部标签

python - 在 Redis 上分页 "KEYS"命令

我需要redis中的所有键匹配给定的模式:*_xyz_*,然后我通过以下python代码获取它们的所有值:-defget_keys(self,pattern):self.r_prod.keys(pattern);keys=self.r_prod.execute();foriinkeys[0]:self.r_prod.get(i);returnself.r_prod.execute();现在keys非常大,可以将所有内容保存在内存中。所以,我想知道是否有任何方法可以对特定限制的键进行分页? 最佳答案 使用SCAN命令:>>>impor

linux - Redis FLUSHALL 保留 2 个名为 `processes` 和 `domain.com:port:hash` 的键

我使用RubyOnRails作为在线商店和redis客户端库gem的基础。在我的托管服务提供商发出警报后,我决定保护redis并刷新整个数据库,以便重新运行缓存等。但是奇怪的事情发生在我身上,因为运行后:127.0.0.1:6379>FLUSHALL好的然后检查我得到的现有key:127.0.0.1:6379>键*1)“过程”2)"mydomain.com:5digitport:strangehash"我不是Redis专家,但我的Redis实例出了问题。有没有人遇到过这个问题,我应该如何解决? 最佳答案 您的应用(或其他应用)仍在连

spring - 使用 Spring Redis key 安全吗?

我想用字符串模式搜索键。我认为SCAN不像Keys那样直接。redistemplate.opsForSet().getOperations().keys(模式);这非常简单,所以如果我将我的值作为我的键,我可以进行搜索并在一定程度上进行排序。但我唯一的问题是有一条警告说不要使用KEYS命令。不确定Spring是否已处理它,请提供您的想法。 最佳答案 您应该将KEYS(http://redis.io/commands/keys)视为调试命令。在您的开发实例上的redis-cli中运行它非常好,但不要在最终会在您的生产实例上结束的代码中

spring-data-redis ping 有效, key 在那里,没有返回数据

这是我第一个使用spring-data-redis的应用程序,我认为我已经很好地理解了这些概念(过去我多次将JdbcTemplate与RDBMS-es一起使用)。这是正在发生的事情......我已经使用JedisConnectionFactory设置了RedisTemplate,并且能够成功地pingRedis服务器。然而,我无法从服务器获得最简单的数据响应,而且恐怕我遗漏了一些基本的东西,到目前为止我还无法从文档中推断出这些东西。这是我的bean.xml文件的Redis部分:这是我的RedisDAO类中的相关代码部分:@AutowiredprivateRedisTemplatetem

hash - 大量数据的键值对 Vs 哈希

让我们假设在我们拥有大约1000万用户的系统中。我们需要在从数据库检索到redis后缓存这些用户对象。现在的问题是我们是否将这些JSON对象存储到键值对中,例如“user_1”,或者更合适的解决方案是将它们全部存储到相同的散列“users”中,散列键将是用户ID“1在这种情况下"我假设键值对比散列占用更多的内存,但性能如何? 最佳答案 由于全局键空间和哈希都是哈希表,访问时间复杂度O(1)。在这两种情况下,性能都不应该成为问题。顺便说一句,我会看看这个官方Redisdocs'articleaboutmemoryoptimizatio

redis 服务器关闭并重新启动后的 redis key 不可用

为了向redis添加key,我通过redisCLI执行了以下操作:127.0.0.1:6379>KEYS*1)"key1"2)"key2"3)"key3"127.0.0.1:6379>SETname"rahul"OK127.0.0.1:6379>KEYS*1)"key1"2)"name"3)"key2"4)"key3"127.0.0.1:6379>为了验证我的redis数据存储中数据的持久性,我重新启动了服务器,在检查key时,我发现有几个key丢失了:127.0.0.1:6379>KEYS*1)"key3"2)"key2"3)"key1"127.0.0.1:6379>redis键是否

javascript - Redis key 未正确创建

我是Redis的新手,我正在尝试通过生成我自己的key来存储和访问它来hmset一些值。但由于某种原因,key未正确创建并且数据被覆盖。下面是我的代码,locations.forEach(function(location){varkey=location.id;console.log(key);//allkeysarecorrectclient.hmset("locations",{key:location});//usingredis-jsonify});获取的数据只是整个响应中的一个,因为key实际上保存为key本身。例如:我尝试使用client.incr('id',functi

redis - 是否可以对 HASH 的值进行 LIST 操作?

我对Redis还是个新手,想知道是否可以使用LIST的HASH。然后我可以做例如LPOPHASHmyKey,其中哈希集包含每个列表的键,列表包含我想要操作的数据。 最佳答案 Redis不提供嵌套数据结构,因此不可能使用哈希列表。RedisList只能包含字符串,但您可以做的是将Hashes的键名存储在一个List中,然后在弹出后执行HGET。 关于redis-是否可以对HASH的值进行LIST操作?,我们在StackOverflow上找到一个类似的问题: ht

Redis:Hash应用场景(一)

一、概述Hash通过key-field-value结构实现了一个双层map的结构。可以应用于对象缓存。就比如有一个user表:idnamebalance1abc1000可以通过HMSETuser 1:namedef1:balance2000对两个缓存字段同时进行修改。二、场景比较还有一种方式是通过Object序列化成json缓存和json反序列化成Object到idea的形式。在某些场景比如修改用户支付宝余额,这个时候只需要修改余额一个字段。Hash模式简单语句即可对单一字段进行修改,json序列化的形式则需要修改整条语句,相较之下,偏冗余。同时要尽可能避免bigkey的情况产生。

javascript - 将 redis key 转换为 javascript 对象?

我想从redis中抓取所有用户并将其传递到我的模板中。我返回的是一个数组,如['users:nick','users:mike']我不想用正则表达式,我想获取用户名并将其存储在对象数组中[{username:'nick'}]redisSessionClient.keys("users:*",function(err,users){if(err){console.log(err);return;}for(i=0;i我觉得我对Redis的处理方式和语法有点困惑,所以我愿意接受任何建议。 最佳答案 您需要的是将所有昵称存储在一个集合中,只