交易所合約跟單帶單軟體開發原始碼方案技術詳情

nice1022發表於2023-03-28

合約跟單,合約交易所自行開發的一種功能,系統I34-開發I633-原始碼53I9,相信有下載合約交易所的夥伴曾經看到過一個叫:“一鍵跟單”或者是“跟單”的功能,其實這個就是合約跟單。


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同一個意思。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70011332/viewspace-2942202/,如需轉載,請註明出處,否則將追究法律責任。

相關文章