HTTP 狀態消息
1081
2025-04-02
Lua模塊開發
在實際的開發過程中,不可能把所有的lua代碼寫在一個lua文件中,通常的做法將特定功能的放在一個lua文件中,即用lua模塊開發。在lualib目錄下,默認有以下的lua模塊。
在使用這些模塊之前,需要在nginx的配置文件nginx.conf中的http模塊加上以下的配置:
現在來簡單的開發一個lua模塊:
在module1.lua文件加上以下的代碼:
開發時將所有數據做成局部變量/局部函數;通過 _M導出要暴露的函數,實現模塊化封裝。
在/usr/example/lua目錄下創建一個test_module_1.lua 文件,在該文件中引用上面的module1.lua文件。
加上以下代碼:
通過require(“模塊名”)來加載模塊,如果是多級目錄,則需要通過require(“目錄1.目錄2.模塊名”)加載。
在/user/example/example.conf中加上以下的配置:
多次在瀏覽器訪問:http://116.196.177.123/lua_module_1,瀏覽器顯示:
安裝redis
linux下安裝:
cd /usr/servers
啟動redis:
查看是否啟動:
終端顯示:
可見redis已經啟動。
lua連接redis
lua_resty_redis模塊地址:https://github.com/openresty/lua-resty-redis
lua_resty_redis 它是一個基于cosocket API的為ngx_lua模塊提供Lua redis客戶端的驅動。
創建一個test_redis_basic.lua文件
vim /usr/example/lua/test_redis_basic.lua
上面的代碼很簡單,通過連接池連接Redis,連接上redis后,通過set一對鍵值對(msg,helloword)到redis中,然后get(msg),并通過ngx.say()返回給瀏覽器。
vim /usr/example/example.conf,添加以下的配置代碼:
瀏覽器訪問:http://116.196.177.123/lua_redis_basic
瀏覽器顯示:
lua_resty_redis支持所有的redis指令,本身Redis就支持lua語言操作。所以lua_resty_redis模塊能夠提高所有的redis操作的功能。
在很多時候,Redis是設置了口令的,連接時,如果需要驗證口令,需要添加 local res, err = red:auth(“foobared”),示例代碼如下:
更多請關注的官方文檔https://github.com/openresty/lua-resty-redis
和開濤的博客http://jinnianshilongnian.iteye.com/blog/2187328
Lua Redis
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。