这个问题卡住几天了。假如我有一段逻辑是:1、查询redis返回数据;2、修改数据;3、存入redis;如果我有两个worker,这两个worker是两个协程?那是不是会出现数据异常?我启动了一个两个timer测试了这个问题确实是有的。这样的问题应该怎么解决呢?能不能像java一样启动专门的线程按队列执行?或者是redis加锁?
方法一:使用workerid 做过滤https://github.com/iresty/nginx-lua-module-zh-wiki#ngxworkerid方法二:agent 进程可以试试看https://github.com/openresty/lua-resty-core/blob/master/lib/ngx/process.md黄锐东 <hrd...@foxmail.com> 于2019年8月17日周六 上午11:32写道:这个问题卡住几天了。假如我有一段逻辑是:1、查询redis返回数据;2、修改数据;3、存入redis;如果我有两个worker,这两个worker是两个协程?那是不是会出现数据异常?我启动了一个两个timer测试了这个问题确实是有的。这样的问题应该怎么解决呢?能不能像java一样启动专门的线程按队列执行?或者是redis加锁?
On Aug 18, 2019, at 1:03 PM, xiaobiao zhao <zhaoxi...@gmail.com> wrote:方法一:使用workerid 做过滤https://github.com/iresty/nginx-lua-module-zh-wiki#ngxworkerid方法二:agent 进程可以试试看https://github.com/openresty/lua-resty-core/blob/master/lib/ngx/process.md黄锐东 <hrd...@foxmail.com> 于2019年8月17日周六 上午11:32写道:这个问题卡住几天了。假如我有一段逻辑是:1、查询redis返回数据;2、修改数据;3、存入redis;如果我有两个worker,这两个worker是两个协程?那是不是会出现数据异常?我启动了一个两个timer测试了这个问题确实是有的。这样的问题应该怎么解决呢?能不能像java一样启动专门的线程按队列执行?或者是redis加锁? -- -- --- 您收到此 --- 要在网络上查看此讨论,请访问。
这个问题卡住几天了。假如我有一段逻辑是:1、查询redis返回数据;2、修改数据;3、存入redis;如果我有两个worker,这两个worker是两个协程?那是不是会出现数据异常?我启动了一个两个timer测试了这个问题确实是有的。这样的问题应该怎么解决呢?能不能像java一样启动专门的线程按队列执行?或者是redis加锁? -- -- --- 您收到此 --- 要在网络上查看此讨论,请访问。