草庐IT

lua_number

全部标签

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),但我将

database - 您可以读取 Redis Lua 脚本中未明确指定的键吗?

下面是一个示例场景来说明:假设我们有一些键=>值对:hmsetthing1name'athing'colorredhmsetthing2name'anotherthing'colorgreenhmsetthing3name'alsoathing'colorblue以及一个值为键名的列表:lpushthingsthing1lpushthingsthing2lpushthingsthing3我的目标是使用间接从一系列事物中获取值:thingsArray=lrangethings02foreachthinginthingsArrayresult.push(hmgetthingnamecolo

database - 您可以读取 Redis Lua 脚本中未明确指定的键吗?

下面是一个示例场景来说明:假设我们有一些键=>值对:hmsetthing1name'athing'colorredhmsetthing2name'anotherthing'colorgreenhmsetthing3name'alsoathing'colorblue以及一个值为键名的列表:lpushthingsthing1lpushthingsthing2lpushthingsthing3我的目标是使用间接从一系列事物中获取值:thingsArray=lrangethings02foreachthinginthingsArrayresult.push(hmgetthingnamecolo

redis - 消除Redis中的魔数(Magic Number)

我正在使用排序集通过Redis创建索引。我想要匹配结果的以下顺序(首先是较小的字符串):aarartartuarturarturo来自Redisdocumentation我使用分数来存储数据:Theelementsareconsideredtobeorderedfromthehighesttothelowestscore.我为实现这一点而编写的代码有一个神奇的数字1000,但这是一个任意数字,足以让它比我必须存储的最大字符串大(而且我不知道确切的最大字符串长度是多少,但我确定它少于1000)Hash['elem'=>string'score'=>1000-string.size]如何用

redis - 消除Redis中的魔数(Magic Number)

我正在使用排序集通过Redis创建索引。我想要匹配结果的以下顺序(首先是较小的字符串):aarartartuarturarturo来自Redisdocumentation我使用分数来存储数据:Theelementsareconsideredtobeorderedfromthehighesttothelowestscore.我为实现这一点而编写的代码有一个神奇的数字1000,但这是一个任意数字,足以让它比我必须存储的最大字符串大(而且我不知道确切的最大字符串长度是多少,但我确定它少于1000)Hash['elem'=>string'score'=>1000-string.size]如何用

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)我知道

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)我知道

lua - 如何使用 Lua 和 ServiceStack Redis 向 Redis 添加 key

我正在使用C#和名为ServiceStackRedis的Redis客户端。我想使用Lua脚本向Redis添加key。目前我使用一个循环来测试这个但没有添加任何键。我究竟做错了什么?请参阅下面的代码。using(varredisClient=GetPooledRedisClient()){StringBuilderluaScript=newStringBuilder();luaScript.AppendLine("forvariable=0,10,1do");luaScript.AppendLine("redis.call('SET',KEYS[variable],'variable')

lua - 如何使用 Lua 和 ServiceStack Redis 向 Redis 添加 key

我正在使用C#和名为ServiceStackRedis的Redis客户端。我想使用Lua脚本向Redis添加key。目前我使用一个循环来测试这个但没有添加任何键。我究竟做错了什么?请参阅下面的代码。using(varredisClient=GetPooledRedisClient()){StringBuilderluaScript=newStringBuilder();luaScript.AppendLine("forvariable=0,10,1do");luaScript.AppendLine("redis.call('SET',KEYS[variable],'variable')