草庐IT

redis-test

全部标签

Redis - 获取集群中的总数据集大小

当设置并运行Redis实例时,可以通过查看used_memory_dataset字段从以下命令的输出中检索数据集大小(以字节为单位)。./redis-cli-h-pinfo但是,当我有多个实例在集群模式下运行时,如何检索整个集群的数据集大小?redis-cli工具是否仍可用于此类基于集群的命令? 最佳答案 从Redisv5开始,cli包括cluster-smarts。您可以使用以下形式调用命令,例如INFO,在所有节点上:redis-cli--clustercallip:portcommand要计算数据集的总大小,您必须将不同的回复

redis - Redis集群上的Lua脚本

我有一个Redis集群,我想在目标节点上执行LUA脚本。当我这样做时,我从Redis集群收到一条错误消息,指出键必须在同一个SLOT上,但脚本仅在1个键上执行两个命令。ifredis.call('HEXISTS','TEST',KEYS[1])==1thenredis.call('HSET','TEST',KEYS[1],ARGV[1])return1endreturn0我尝试使用HashTagKey,但它不起作用。 最佳答案 您收到此错误是因为您正在尝试访问名为TEST的Rediskey,但不要通过在EVAL命令中列出它来让Red

redis - 如何在Redis中添加条件(过滤器)

我有这样的CSV:key,fname,lname,email,authorized1,mike,gote,mike@gmail.com,12,joe,doe,joe@gmail.com,03,mark,ding,mark@gmail.com,1我可以根据键(1,2,3)存储在redis中,但只需要获得授权的用户(authorized==1)。如何实现?谢谢 最佳答案 您可以将csv放入此数据结构中。您可以使用user:{email}这样的键创建hashmap例如:你可以让散列键像-user:mike@gmail.com键如fname

redis - 在redis中为不存在的键设置多个键的选项?

来自MSETNX的文档:Setsthegivenkeystotheirrespectivevalues.MSETNXwillnotperformanyoperationatallevenifjustasinglekeyalreadyexists.我想执行一个操作来添加redis中不存在的键并跳过那些已经存在的键。是否有执行此类操作的任何命令? 最佳答案 抱歉,如果在这里陈述显而易见的话,但是EVAL/EVALSHA+一个简单的Lua脚本可以轻松高效地完成这项工作。 关于redis-在re

redis - psubscribe with '*' 模式是个坏主意?

我正在尝试使用redis和node.js设置一些pubsub东西,我想知道psubscribe到*是否是个坏主意模式(所有channel),然后在该消息处理程序中自行处理“channel路由”。首先,我关心的是性能和容量方面的可扩展性。我想我可以猜到,如果我有越来越多的不同目的的channel,这可能很难管理。除非我为它构建了一个非常好的框架/抽象。我想我的问题已经很清楚了。此外,如果有旨在解决此问题的现有框架,我很想在评论中听到它们。 最佳答案 我认为这样做是个坏主意,除非您想实现Redispubsub不支持的功能,例如使用正则表

redis - 将可变数量的参数传递给 Redis Lua 脚本

我正在使用EVAL将几个参数传递给我的Lua脚本。但是,最后一个参数是可选的,它可以传递也可以不传递给EVAL。如何在RedisLua脚本中检查参数是否存在?例如,ARGV[3]是否存在。 最佳答案 ifARGV[3]then--userpassinARGV[3]else--NoARGV[3]end 关于redis-将可变数量的参数传递给RedisLua脚本,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

redis - 什么是 REPL 以及如何/何时发挥作用?

阅读关于redis的帖子我看到了这个词:REPL。有人能告诉我它是什么以及它在编程过程中如何发挥作用,或者添加一些简单的实际示例或场景吗? 最佳答案 ReadEvaluatePrintLoop-基本上,您在使用命令行shell时获得的环境。 关于redis-什么是REPL以及如何/何时发挥作用?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2888061/

Redis 在 Redis 哈希中存储值列表

我的任务是获取特定user_id的动物列表(例如)。我不想为每个用户使用集合/列表。我曾尝试使用散列,其中每个字段都是一个user_id,每个值都是一个串联的动物字符串。例如:{"1234":"dogcat","8477":"birddog"}。在这里,只需调用Redis一次,我就可以为用户“1234”获取动物。我知道有一个APPEND命令,将项目附加到字符串。但这不适用于附加到散列内的值。我也尝试过使用set,并通过前缀获取值。对于上面的示例,我的集合将包含:("1234:dog","1234:cat","8477:bird","8477:dog")。为了获得用户“1234”的所有动

redis - redis-cli 中的 UTF-8

我正在尝试在redis-cli中显示UTF-8内容。我试过这个解决方案:redis-cli--raw这里建议:Redis-problemwithaccents(UTF-8encoding)但这就是我得到的:╫╫╫ù╫ò╫û╫Ö╫¿╫ò╫⌐╫£╫Ö╫¥有人可以帮忙吗? 最佳答案 尝试命令chcp65001在命令窗口中 关于redis-redis-cli中的UTF-8,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

快照的 Redis 问题 - 在最终目标 : Operation not permitted 上移动临时数据库文件时出错

我有一个使用redis和sensu的工作设置。在尝试拍摄RDB快照时,我突然遇到了Redis服务器问题。[2830]27Dec06:25:50.648*10000changesin60seconds.Saving...[2830]27Dec06:25:50.649*Backgroundsavingstartedbypid24929[24929]27Dec06:25:50.670#ErrormovingtempDBfileonthefinaldestination:Operationnotpermitted[2830]27Dec06:25:50.750#Backgroundsavinge