草庐IT

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集群中一个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,而是要确保您的脚本操作的所有

java - 不支持 JedisCluster 的管道

我正在Spring中编写一个Web应用程序,并且将SpringDataRedis与Jedis结合使用。Web应用程序与带有大量设置命令的Redis集群对话”我想通过管道向redis集群发送命令。当我尝试时出现异常:java.lang.UnsupportedOperationException:PipelineiscurrentlynotsupportedforJedisClusterConnection.我的选择是什么?编辑1:protectedvoidstore(MapcreativesToStore,Function,Object>executedAction){this.redi

database - 确定大型 redis 数据库中未使用键的百分比

我有一个Redis数据库,里面有数百万个键。随着时间的推移,我写入和读取的key发生了变化,因此有许多key我不再使用了。大多数也没有任何类型的TTL。我想了解Redis数据库中有多少百分比的键不再使用。我在想我可以使用hyperloglog来估计正在写入的键数的基数,但是为每个被写入和读取的键做一个PFADD似乎需要很多工作从。明确地说,我还不想删除任何东西,我只是想对数据库中使用的键数做一些分析。 最佳答案 我将从scan命令开始遍历键,然后在每个键上使用objectidletime命令来收集自上次使用键以来的秒数用过的。从那里

用于将 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。否则我应该选择另一个支持上述操作的键值存储。你会建议哪个选项?如果是第二个,哪家店支持这样的操作?哪个选项在性能方面更好? 最佳答案 您需要的不是另