合约跟单,合约交易所自行开发的一种功能,相信有下载合约交易所的伙伴曾经看到过一个叫:“一键跟单”或者是“跟单”的功能,其实这个就是合约跟单。
redis2.6.0版本起 采用内置的Lua解释器 通过EVAL命令去执行脚本;
redis中的EVAL命令可以用于执行一段lua代码。命令格式如下:
第一个参数script:表示lua脚本的内容;
第二参数numkeys:表示有多少个键值对。
其余参数:先把numkeys个key列出来,再把numkeys个arg列出来。
Lua脚本中可以使用2个函数调用redis命令;
redis.call()
redis.pcall()
redis.call()与redis.pcall()相似,二者不同之处:
如果执行的redis命令执行失败,redis.call()将产生一个Lua error,从而迫使EVAL命令返回一个错误给命令的调用者;
然而redis.pcall()将会捕捉这个错误,并返回代表这个错误的Lua表。
使用示例
有那么一段逻辑;
如果Redis某个key的整数值 和 某个value相等,则将key对应的整数值 + 1000;否则将key的值设置为9999;
redis.call():执行redis命令。
redis.call():执行redis命令。KEYS[n]:指脚本中第n个参数,比如KEYS[1]指脚本中的第一个参数。ARGV[n]:指脚本中第n个参数的值,比如ARGV[1]指脚本中的第一个参数的值。返回值中nil与false同一个意思。