redis与lua整合
生活随笔
收集整理的這篇文章主要介紹了
redis与lua整合
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
redis原生支持watch監(jiān)聽、multi事務(wù)、exec批處理。但是下面的代碼無法獲取上面代碼的執(zhí)行結(jié)果。上下文關(guān)系不存在。lua可以幫助完善redis功能。
redis 原生支持 監(jiān)聽、事務(wù)、批處理,那么還需要lua嗎?
-
兩者不存在競爭關(guān)系,而是增強關(guān)系,lua可以完成redis自身沒有的功能
-
在lua中可以使用上一步的結(jié)果,也就是可以開發(fā)后面操作依賴前面操作的執(zhí)行結(jié)果的應用,MULT中的命令都是獨立操作
-
redis可以編寫模塊增強功能,但是c語言寫模塊,太難了,lua簡單的多
-
計算向數(shù)據(jù)移動
-
原子操作
lua腳本盡量短小并且盡量保證同一事物寫在一段腳本內(nèi),因為redis是單線程的,過長的執(zhí)行會造成阻塞,影響服務(wù)器性能
?
0表示不帶參數(shù),也可以傳參數(shù):
vi test.lua:
redis-cli --eval test.lua:注意這種寫法支支持Lua5.1以上版本
在lua腳本中可以通過redis.call調(diào)redis原生的命令來獲取值等操作:
vi test2.lua:
魔獸世界的客戶端幾乎都使用lua寫的。
?
總結(jié)
以上是生活随笔為你收集整理的redis与lua整合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网关层面为何要用Lua
- 下一篇: Lua 脚本获取 EVAL EVALS