草庐IT

lua-cjson

全部标签

lua - 当成员数量在运行时未知时,如何使用 Lua 向 Redis 集提供多个成员?

例如,可以使用sadd命令将多个成员添加到Redis中的某个set:saddmyset384842921在Lua中,我发现我可以执行如下相同的操作:redis.call("SADD","myset","38","484","2","92","1")但是,如果调用者不知道要向sadd提供多少参数,会发生什么情况?在JavaScript中,有一个Function.apply(...)函数可以按数组的顺序提供参数://Sourcefunctionwouldlooklikethis:functionX(a,b,c){...}X.apply(this,[38,484,2]);如何在Lua和Red

lua - 当成员数量在运行时未知时,如何使用 Lua 向 Redis 集提供多个成员?

例如,可以使用sadd命令将多个成员添加到Redis中的某个set:saddmyset384842921在Lua中,我发现我可以执行如下相同的操作:redis.call("SADD","myset","38","484","2","92","1")但是,如果调用者不知道要向sadd提供多少参数,会发生什么情况?在JavaScript中,有一个Function.apply(...)函数可以按数组的顺序提供参数://Sourcefunctionwouldlooklikethis:functionX(a,b,c){...}X.apply(this,[38,484,2]);如何在Lua和Red

lua - 如何在 Redis 中实现多用户安全的线性同余生成器?

我使用线性同余生成器(http://en.wikipedia.org/wiki/Linear_congruential_generator)生成向用户公开的ID。nextID=(a*LastID+c)%m现在我想在Redis中实现LCG。这是问题所在:获取当前ID并在Redis之外生成下一个ID不是多用户安全的。Redis有2个可用于简单计数器的命令:INCRBY和INCRBYFLOAT,但不幸的是Redis本身不支持模运算。目前我看到的唯一方法是使用EVAL命令并编写一些lua脚本。更新1:一些lua模拟INCRBYLCG_Value((LCG_Value*a+c)%m)-LCG_V

lua - 如何在 Redis 中实现多用户安全的线性同余生成器?

我使用线性同余生成器(http://en.wikipedia.org/wiki/Linear_congruential_generator)生成向用户公开的ID。nextID=(a*LastID+c)%m现在我想在Redis中实现LCG。这是问题所在:获取当前ID并在Redis之外生成下一个ID不是多用户安全的。Redis有2个可用于简单计数器的命令:INCRBY和INCRBYFLOAT,但不幸的是Redis本身不支持模运算。目前我看到的唯一方法是使用EVAL命令并编写一些lua脚本。更新1:一些lua模拟INCRBYLCG_Value((LCG_Value*a+c)%m)-LCG_V

performance - Redis 中的 Lua 脚本 : HMGET with table?

是否存在将表传递给单个redis.call('HMGET',[key],...)的任何类似行为,而不是遍历表并运行多个>redis.call,一个接一个?我在Redis中有一个散列键,它表示具有100000个条目的Fenwick树。它有连续的整数索引和浮点值:127.0.0.1:6379[1]>hmgetfenwick1234...1)"0.75865226460558"2)"1.0234678955857959"3)"0.057608450324092272"4)"1.1002286486794375"...我正在尝试使用Redis的内置Lua解释器找到一些随机条目entryid的总

performance - Redis 中的 Lua 脚本 : HMGET with table?

是否存在将表传递给单个redis.call('HMGET',[key],...)的任何类似行为,而不是遍历表并运行多个>redis.call,一个接一个?我在Redis中有一个散列键,它表示具有100000个条目的Fenwick树。它有连续的整数索引和浮点值:127.0.0.1:6379[1]>hmgetfenwick1234...1)"0.75865226460558"2)"1.0234678955857959"3)"0.057608450324092272"4)"1.1002286486794375"...我正在尝试使用Redis的内置Lua解释器找到一些随机条目entryid的总

node.js - 是否可以在redis中调用其他lua脚本中定义的lua函数?

我尝试声明一个不带local关键字的函数,然后从另一个脚本调用该函数,但是当我运行该命令时出现错误。test=function()return'test'end#fromsomeotherscripttest()编辑:我不敢相信我仍然没有答案。我将包括我的设置的更多细节。我正在使用带有redis-scripto包的Node将脚本加载到redis中。这是一个例子。varScripto=require('redis-scripto');varscriptManager=newScripto(redis);scriptManager.loadFromDir('./lua_scripts');

node.js - 是否可以在redis中调用其他lua脚本中定义的lua函数?

我尝试声明一个不带local关键字的函数,然后从另一个脚本调用该函数,但是当我运行该命令时出现错误。test=function()return'test'end#fromsomeotherscripttest()编辑:我不敢相信我仍然没有答案。我将包括我的设置的更多细节。我正在使用带有redis-scripto包的Node将脚本加载到redis中。这是一个例子。varScripto=require('redis-scripto');varscriptManager=newScripto(redis);scriptManager.loadFromDir('./lua_scripts');

从 Redis HGETALL 调用返回高效字典的 Lua 脚本

我需要从Lua脚本中使用RedisHMGET并在以下代码中提取特定值。但是redis.call('HMGET',table_key,hkey1,hkey2,...)返回一个平面数组{hkey1,val1,hkey2,val2,...}要按键提取值,我写道:localfunctionflat_map_get(flat_map,hash_key)locali=1whileflat_map[i]doifflat_map[i]==hash_keythenreturnflat_map[i+1]endi=i+2endend当然,随着使用量的增长,多次调用此函数会导致性能下降。从HMGET返回的平面

从 Redis HGETALL 调用返回高效字典的 Lua 脚本

我需要从Lua脚本中使用RedisHMGET并在以下代码中提取特定值。但是redis.call('HMGET',table_key,hkey1,hkey2,...)返回一个平面数组{hkey1,val1,hkey2,val2,...}要按键提取值,我写道:localfunctionflat_map_get(flat_map,hash_key)locali=1whileflat_map[i]doifflat_map[i]==hash_keythenreturnflat_map[i+1]endi=i+2endend当然,随着使用量的增长,多次调用此函数会导致性能下降。从HMGET返回的平面