前提:
關於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教程有興趣的朋友有所幫助。