首頁 > 後端開發 > php教程 > 一種openresty在init_by_lua_file階段讀取redis到共享記憶體的方法

一種openresty在init_by_lua_file階段讀取redis到共享記憶體的方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-07-28 08:27:38
原創
2269 人瀏覽過

前提:

        關於openresty 或ngx_lua 請參考:http://openresty.org/en/

問題:

 🎜>

問題:

   時,在init_by_lua_file中是無法連接redis的,所以有時候只能在rewrite或access階段讀取redis數據,用什麼辦法在初始化階段讀取呢?

解決方法:

採用在init階段調用shell命令的方法,相當於在init階段,執行一個shell命令,讀取redis數據,把讀取的文本數據進行解析,即可實現讀取redis資料到nginx中

舉例:

        1 redis中存在一個hash,儲存資料為:

hmset 存在一個hash,儲存資料為:

hmset 存在一個hash,儲存資料為:

hmset 存在一個hash,儲存資料為:

hmset 存在一個hash f1 v1 f

        2 init_by_lua_file中讀取的程式碼為:

        local cmd = "redis-cli  hgetall test_hash> )

        local content = f:read("*a")

         f:close()

以上記憶體中的資料。即

需要注意,此處的content是字串,需要自己重新解析成字典,可以存入變量,也可以存在共享記憶體中。 以上就介紹了 一種openresty在init_by_lua_file階段讀取redis到共享記憶體的方法,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。
相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
javascript - js正規符合特定字串
來自於 1970-01-01 08:00:00
0
0
0
為什麼說非物件呼叫成員函數fetch()
來自於 1970-01-01 08:00:00
0
0
0
資料庫設定檔必須要用二維數組
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板