草庐IT

prefix_keys

全部标签

redis - 为什么建议不要在 Redis 中使用 KEYS?

在Redis中,建议不要使用KEYScommand.为什么会这样?是因为它的时间复杂度是O(N)吗?或者其他原因。 最佳答案 是的。时间复杂度很差。请注意,O(N)中的N指的是数据库中键的总数,而不是过滤器模式选择的键数。所以这对于生产数据库来说可能是一个非常大的数字。更糟糕的是,由于同一时间只能运行一个命令(Redis不是多线程的),其他一切都必须等待该KEYS完成。 关于redis-为什么建议不要在Redis中使用KEYS?,我们在StackOverflow上找到一个类似的问题:

lua - 你必须提前在 Redis 脚本中声明你的 key 吗?

我的计划是将一些现有的Redis键存储在哈希中,稍后将从RedisLua脚本中获取并执行操作。我读到最好的做法是在调用EVAL时提供脚本中使用的所有键。我的问题是,运行一个在运行EVAL时没有提供任何key但对从内获取的一些key进行操作的脚本是否安全剧本?如果没有,后果是什么,我该如何避免这个缺点?我提到在EVAL时,无法知道特定哈希中的键是什么。我可以在EVAL之前的步骤中从散列中获取所有键,然后将它们提供给EVAL,但这听起来有点矫枉过正。 最佳答案 由于文档中的歧义,这个问题被问了很多(例如,参见this和this),但我将

lua - 你必须提前在 Redis 脚本中声明你的 key 吗?

我的计划是将一些现有的Redis键存储在哈希中,稍后将从RedisLua脚本中获取并执行操作。我读到最好的做法是在调用EVAL时提供脚本中使用的所有键。我的问题是,运行一个在运行EVAL时没有提供任何key但对从内获取的一些key进行操作的脚本是否安全剧本?如果没有,后果是什么,我该如何避免这个缺点?我提到在EVAL时,无法知道特定哈希中的键是什么。我可以在EVAL之前的步骤中从散列中获取所有键,然后将它们提供给EVAL,但这听起来有点矫枉过正。 最佳答案 由于文档中的歧义,这个问题被问了很多(例如,参见this和this),但我将

c# - ServiceStack.Redis 存储对象超时,key 检索

我正在尝试使用ServiceStack.Redis客户端从memcached迁移到redis。我希望能够简单地检查Redis缓存是否有按键项,如果没有则添加它们并设置过期超时。然后稍后检索它们(如果它们存在)。为了对此进行测试,我创建了一个简单的ASP.NETWebApi项目并使用这两种方法修改了ValuesController。publicclassValuesController:ApiController{publicIEnumerableGet(){using(varredisClient=newRedisClient("localhost")){IRedisTypedClie

c# - ServiceStack.Redis 存储对象超时,key 检索

我正在尝试使用ServiceStack.Redis客户端从memcached迁移到redis。我希望能够简单地检查Redis缓存是否有按键项,如果没有则添加它们并设置过期超时。然后稍后检索它们(如果它们存在)。为了对此进行测试,我创建了一个简单的ASP.NETWebApi项目并使用这两种方法修改了ValuesController。publicclassValuesController:ApiController{publicIEnumerableGet(){using(varredisClient=newRedisClient("localhost")){IRedisTypedClie

php - Rediska 按模式获取 key 很慢

KEYS方法(在Rediska上名为getKeysByPattern())非常慢。10kdb上的200次迭代需要20-25秒!例如,键名为foo:time:*:y:*:m:*:d:*:h:*:i:*:bar_name:*:item_id:*:category_id:*这是redis或rediskaphp客户端的正常行为吗? 最佳答案 rediskagetKeysByPattern使用redisKEYS命令这是Redis文档(http://redis.io/commands/keys)中有关该命令的一些文本Warning:consid

php - Rediska 按模式获取 key 很慢

KEYS方法(在Rediska上名为getKeysByPattern())非常慢。10kdb上的200次迭代需要20-25秒!例如,键名为foo:time:*:y:*:m:*:d:*:h:*:i:*:bar_name:*:item_id:*:category_id:*这是redis或rediskaphp客户端的正常行为吗? 最佳答案 rediskagetKeysByPattern使用redisKEYS命令这是Redis文档(http://redis.io/commands/keys)中有关该命令的一些文本Warning:consid

php - Redis + phpredis 丢失 key ——内存溢出?

Redis的新手,在只有512MbRAM的小盒子上用php测试它,使用phpredis客户。将3m个整数值插入到一个集合中。但是该集合的sCard()方法仅返回大约270k计数。这是我遇到的内存限制吗?如何在插入时检查错误?应用程序:有两个二进制文件存储四字节无符号整数序列,我想将其加载到Redis中以进行快速内存差异。这是我的插入方法(跳过错误检查行):functionloadToRedis($id,$filename){$length=filesize($filename)/4;//howmanyidsarethere?Eachis4bytes.$divisor=100;//how

php - Redis + phpredis 丢失 key ——内存溢出?

Redis的新手,在只有512MbRAM的小盒子上用php测试它,使用phpredis客户。将3m个整数值插入到一个集合中。但是该集合的sCard()方法仅返回大约270k计数。这是我遇到的内存限制吗?如何在插入时检查错误?应用程序:有两个二进制文件存储四字节无符号整数序列,我想将其加载到Redis中以进行快速内存差异。这是我的插入方法(跳过错误检查行):functionloadToRedis($id,$filename){$length=filesize($filename)/4;//howmanyidsarethere?Eachis4bytes.$divisor=100;//how

lua - 我将使用什么命令使 Redis 中的 key 过期,这些 key 的生存时间少于 5 天?

我的数据库中的session被设置为哈希:1)"sid:lpg3um654ckqp7tj7fkr2qs2Zz"(thishasattlofaweek)2)"sid:lpg3um654ckqp7tj7fkr2qs2Yy"(thishasattlof6days)3)"sid:g6sftph5dnun5bk6l0hqyyh6p5"(thishasattlof5days)4)"sid:g6sftph5dnun5bk6l0hqyxh6x3"(thishasattlof4days)5)"sid:g6sftph5dnun5bk6l0hqyxh4t1"(thishasattlof3.5days)我知道