這篇“Lua是什么”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Lua是什么”文章吧。
創(chuàng)新互聯(lián)企業(yè)建站,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁設(shè)計(jì),有多年建站和網(wǎng)站代運(yùn)營(yíng)經(jīng)驗(yàn),設(shè)計(jì)師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對(duì)于做網(wǎng)站、成都網(wǎng)站建設(shè)中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動(dòng)的思維在網(wǎng)頁中充分展現(xiàn),通過對(duì)客戶行業(yè)精準(zhǔn)市場(chǎng)調(diào)研,為客戶提供的解決方案。做數(shù)據(jù)庫性能測(cè)試的時(shí)候,很常用的一個(gè)工具就是sysbench,而且有一點(diǎn)很特別,默認(rèn)就是使用了Lua模板,有同學(xué)說Lua模板是什么,如果告訴你是一門新的腳本語言,很多同學(xué)就頭大了,當(dāng)然sysbench也不是甩手掌柜,已經(jīng)給你配備了一系列的Lua模板,基本能夠滿足大多數(shù)場(chǎng)景的測(cè)試,比如OLTP讀寫,只讀,插入,批量插入等模板?!?/p>
當(dāng)然也不是一勞永逸,如果我們深入做一些測(cè)試就會(huì)發(fā)現(xiàn)還是有一定的局限性,比如表名是sbtest[n]的方式,表結(jié)構(gòu)清一色就是不到5個(gè)字段,而且表結(jié)構(gòu)信息和數(shù)據(jù)也沒法直接改動(dòng),如此一來和真實(shí)的場(chǎng)景還是差別很大,測(cè)試結(jié)果僅做參考,如果要改進(jìn),那就是基于模板深度定制一個(gè)更好一些。這也是我寫這篇文章的一個(gè)出發(fā)點(diǎn)之一。
我們來簡(jiǎn)單了解下Lua,看下它的優(yōu)點(diǎn)和缺點(diǎn)。這門語言誕生于巴西里約熱內(nèi)盧天主教大學(xué),腳本解析器不到200K,非常適合閱讀源碼學(xué)習(xí),而且在目前所有腳本引擎中,Lua的速度是最快的。在游戲行業(yè)里用得很多,比如在魔獸世界中,這一切都決定了Lua是作為嵌入式腳本的最佳選擇。用一句很技術(shù)的評(píng)論說,就是
Lua源碼滿足了我們對(duì)c語言編程的所有幻想,可能是目前最好的c開源庫之一。
當(dāng)然光說好的也不好,我們得看看它不能做什么,或者做得不好的地方。簡(jiǎn)單總結(jié)下來就是
標(biāo)準(zhǔn)庫功能太少、沒有多核支持、沒有unicode支持、c api太難用,而且比較糾結(jié)的是Lua 版本升級(jí)向來是不兼容的,這一點(diǎn)和Python兄弟很像,很任性。如果從5.1是要想升級(jí)到 5.2 要做很多額外的工作(最新版本是5.3.4)。
此外LuaJIT我們也可能會(huì)常見,可以理解是Lua的一個(gè)高效版,通過ffi把Lua的生態(tài)做得更加強(qiáng)大了。至少在sysbench啟動(dòng)的時(shí)候會(huì)明顯看到如下的信息:
sysbench 1.1.0 (using bundled LuaJIT2.1.0-beta3)
操作系統(tǒng)層面如果調(diào)用lua命令,會(huì)發(fā)現(xiàn)是系統(tǒng)自帶的。兩者的版本明顯不同。
# lua
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio,
到了這里,我們可以設(shè)定一個(gè)小目標(biāo),我們自己來定制Lua模板,來滿足我們制定業(yè)務(wù)需求的測(cè)試場(chǎng)景,如果需要調(diào)整事務(wù)的大小和DML的比例,也可以通過配置靈活實(shí)現(xiàn),想想多美好。
所以我們要做的一件事情就是在IDE中配置,我們選擇IntelliJ,安裝一個(gè)Lua插件。
我們選擇一個(gè)相對(duì)較新的版本
然后在IntelliJ里面配置插件,選中jar包即可。
插件EmmyLua就這樣完成了安裝,我們可以通過這種方式先看看sysbench里面的Lua模板,看看下一步該怎么做。
如果重建一個(gè)工程,我們會(huì)明顯看到這個(gè)Lua的選項(xiàng)。
我沒有學(xué)過Lua,但是我看Lua腳本的時(shí)候,發(fā)現(xiàn)和MHA里面的Perl語法很相似,有很多我覺得就是c的風(fēng)格。總體易讀性更強(qiáng),因?yàn)槟0宓拇a很簡(jiǎn)練,我們能很快找到重點(diǎn)。自己要定制的話相比MHA定制要容易一些(目前拍腦袋認(rèn)為)。
比如insert的模板就是這些內(nèi)容,除了oltp_common的內(nèi)容,實(shí)際需要控制的邏輯還是很簡(jiǎn)潔的。
以上就是關(guān)于“Lua是什么”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。