亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

OpenResty中的請求獨有數據和跨請求數據

2023-09-19 07:23:02
1
0

在OpenResty當中,不同lua腳本中的數據,有的是每個請求有獨立的一份,還有的是整個進程上的所有請求共享的

 

通常情況下,下面所寫的,每個請求將會有獨立的一份count,因此無論調用此接口多少次,每次都是從0開始的

http {
    server {
        listen 80;
        location / {
            content_by_lua_block {
                local count = 0
                local function inc_count() {
                   count = count + 1
                }
                inc_count()
            }
        }
    }
}

 

而下面的寫法,各個請求將會共享count

http {
    server {
        listen 80;
        location / {
            content_by_lua_block {
                local count_module = require "count_module"
                count_module.incr()
            }
        }
    }
}

其中count_module為如下lua腳本

local _M = {
   count = 0
}

function _M.incr()
    self.count = self.count + 1
end

return _M

 

上面兩種寫法有不同的效果,是因為通過require引入模塊,每個進程僅會發生一次,然后后續的請求,都共享這一模塊

而直接在content_by_lua*中定義的局部變量,每次都是新的變量

 

除此之外,還可能存在跨進程共享數據的需求,這種情況需要共享內存或者其他進程間通信的方法

0條評論
作者已關閉評論
w****h
3文章數
0粉絲數
w****h
3 文章 | 0 粉絲
原創

OpenResty中的請求獨有數據和跨請求數據

2023-09-19 07:23:02
1
0

在OpenResty當中,不同lua腳本中的數據,有的是每個請求有獨立的一份,還有的是整個進程上的所有請求共享的

 

通常情況下,下面所寫的,每個請求將會有獨立的一份count,因此無論調用此接口多少次,每次都是從0開始的

http {
    server {
        listen 80;
        location / {
            content_by_lua_block {
                local count = 0
                local function inc_count() {
                   count = count + 1
                }
                inc_count()
            }
        }
    }
}

 

而下面的寫法,各個請求將會共享count

http {
    server {
        listen 80;
        location / {
            content_by_lua_block {
                local count_module = require "count_module"
                count_module.incr()
            }
        }
    }
}

其中count_module為如下lua腳本

local _M = {
   count = 0
}

function _M.incr()
    self.count = self.count + 1
end

return _M

 

上面兩種寫法有不同的效果,是因為通過require引入模塊,每個進程僅會發生一次,然后后續的請求,都共享這一模塊

而直接在content_by_lua*中定義的局部變量,每次都是新的變量

 

除此之外,還可能存在跨進程共享數據的需求,這種情況需要共享內存或者其他進程間通信的方法

文章來自個人專欄
文章 | 訂閱
0條評論
作者已關閉評論
作者已關閉評論
0
0