草庐IT

hash_key

全部标签

redis - 如何在 REDIS 中列出没有序列号的 key ?

我正在尝试列出具有如下特定模式的键:KEYS"*Team*"我得到的结果集的序列号如下:1)"TeamMetricSummary_google_bps_app_googlewfepleague_chambersc2016:04-03-2016_06-04-2016"2)"\xac\xed\x00\x05t\x00TTeamMetricSummary_google_bps_app_googlewfepleague_malini.gto:12-06-2015_04-02-2016"我的问题是我想避免结果集中出现序列号。这可能吗? 最佳答案

使用 call_user_func_array 插入时 redis 丢失 key

我试图将10K个元素放入一个数组中,并尝试使用call_user_func_array将它们添加到redisset中,但我得到了一个非常奇怪的结果。这是代码:$redis=newRedis();$redis->connect('127.0.0.1',6380);$list_id=0;$test_ar=array();for($i=0;$iscard('test:'.$list_id);echo"test_cnt:$test_cnt\n";这是输出:testarraycnt:10000arraychunk:Array([0]=>test:0[1]=>2[2]=>4[3]=>2[4]=>4

redis - Redis什么时候从AOF持久化中读取key?

我可能是错的,但仍然问这个问题。;-)所以我打算使用redis作为持久化存储(PrimaryStorage)。我启用了AOF。我知道Redis会在服务器启动期间加载这些数据。假设我有10GB数据和5GB内存,如果我尝试搜索未加载到RAM中的key,它会检查AOF并通过卸载任何未使用的key将该数据加载到RAM中吗? 最佳答案 Redis中的内存不能小于数据大小。在您的示例中,Redis会在启动期间耗尽内存。您可以在这里找到更多答案:http://redis.io/topics/faq 关

redis - Redis 中有类似MGET 的HASH 数据结构的命令吗?

我需要一次调用一组已知的REDIS哈希键的所有数据字段。我将MGET用于字符串键,例如:MGET键[键...]从1.0.0开始可用。时间复杂度:O(N),其中N是要检索的键的数量。返回所有指定键的值。对于每个不包含字符串值或不存在的键,返回特殊值nil。因此,操作永远不会失败。HMGET只为一个键带来所有字段。我需要很多键,所有字段都需要按键。 最佳答案 没有这样的命令,redis哈希在哈希中工作,因此HMGET在一个哈希中工作并给出该哈希中的所有字段。无法一次访问多个哈希中的所有字段。但是您可以在每个哈希上使用多个HMGET并获取

redis - redis集群中一个master和它的slave故障时,redis会删除所有的key吗

我有一个问题。假设我正在使用具有3个分片(主从)的Redis集群。我开始知道,如果一个master和它的slave同时发生故障,RedisCluster将无法继续运行。之后会发生什么。Redis集群是否也会从其他2个节点中删除所有其他键?(当它回来的时候)我们是否需要手动重启这个集群,我们能否以某种方式保留其他键值(在其他节点上)?如果我使用AzureRedis缓存,它将如何表现?提前致谢 最佳答案 1.Redis集群是否也会从其他2个节点中删除所有其他键?(当它回来时)首先,只有操作被阻止而不是集群事件,并且没有对数据做任何事情,

session - Redis 不删除 session key

我正在使用Redis为我的ExpressJS应用程序存储我的session数据,并且在过去遇到了一些问题,其中持久性cookie使我的用户保持登录状态导致开发问题。我试图用redis-cli清除我的session数据,但尽管运行DELKEYS*并得到(integer)0响应,我仍然看到session出现当我运行KEYS*时。谁能帮我删除这些数据?例子:127.0.0.1:6379>KEYS*1)"sess:O7pchKqe-n7NUhP3lBANaf7LMjJG0U0a"2)"sess:tSyQCCISPBpH88zT3MJjHw2tidttMdRs"127.0.0.1:6379>DE

lua - 在 EVALSHA 中生成新 key

Documentation声明key必须显式传递,因此如果使用Redis集群,命令可以转发到适当的节点。但是,这是否也适用于新key?例如,如果我有一个脚本来注册一个新实体,并且这样的脚本正在动态创建一个由INCR的结果和文字组成的全新key,这对Redis集群来说会是一个问题吗?另一种方法是在单独的操作中调用INCR,并将key作为KEY[1]传递给脚本。 最佳答案 如果您仔细确保您的新key与其他key散列到同一台服务器,我认为您会没事的。也就是说,Cluster的重要之处不仅仅是预先声明您的key,而是要确保您的脚本操作的所有

用于将 redis key 读取为流的 node.js 模块

我在Node.js上读取Redis中的键时遇到问题,它们将数据保存到mongodb。因为键的数量很大(130万),这会导致JavaScript堆内存不足。任何人都可以建议我一些Node.js模块来将Rediskey读取为流或解决此问题的其他一些解决方案,这样我就可以避免此问题。非常感谢! 最佳答案 ioredis(https://github.com/luin/ioredis)确实支持流。SCAN来自自述文件的示例。varredis=newRedis();//Createareadablestream(objectmode)vars

postgresql - Key - 支持按值搜索的值存储

我正在开发一个ASP.NETWebApi项目。对于我系统的一部分,我需要一个键值存储来存储字符串。键和值都是字符串(尽管它们可以是长字符串)。键和值都是唯一的。最初,我开始使用Redis,问题是我需要在store中不仅通过key而且通过value进行搜索(判断value是否存在,不需要返回keyin这个情况)。基本上,我有两个选择,第一个是为我的项目使用默认数据库-PostgreSQL。否则我应该选择另一个支持上述操作的键值存储。你会建议哪个选项?如果是第二个,哪家店支持这样的操作?哪个选项在性能方面更好? 最佳答案 您需要的不是另

hash - Redis - 非常大的单条记录(哈希表)

我们在这里有一个巨大的争议:我们在服务器上安装了Redis,我们想在其中保存几种类型的数据:一些零星变量(针对每个用户-所以不仅仅是几条记录)一个非常大的表会随着时间增长争论的焦点是如何保存提到的表格我们都知道Redis的GET时间复杂度是O(1)-所以我们可以将表的每条记录存储为Redis中的一条记录(通过一些前缀来知道它是该表行)或我们可以将表作为单个记录存储在Redis中作为哈希-然后在哈希中访问我们想要的行-这是两个O(1)的步骤。我认为Redis中不断增长的巨大SINGLE记录是灾难性的,但我需要的不仅仅是我对此的看法-我需要Redis专家的回应,指出该方法的错误或证明我错了