首先确保Public/index.php入口函数的app_root要是这样的。不能直接使用../

一、异步缓存
异步缓存就是说缓存读与缓存更新是两个进程,默认是同步,就是cache_expire_strategy这个配置是syn

,如果单独设置某个client cache会异步,可以设置client的cache方法的第二个参数为true表示开启异步缓存更新。

这样全局是异步的,这个参数不写或设置false都不会影响全局是异步的,这个缓存的过期处理是有cli命令行中执行队列式一个一个更新,前端获取的缓存是不过期的,不会去触发数据库的更新,更新缓存全部由php cli命令行中消息队列读取 过期自动更新。

二、异步任务
异步任务也是,任务提交后给出一个任务id,一个cli进程读取队列消息执行命令
app下的Config.php中定义那些service是需要加锁或异步队列执行的。

例如client_order服务下的bid方法需要按队列执行,并且每个报价请求只能执行一次

然后业务代码中执行 下面的,如果发现data中包含queuerequest键值对,说明是异步任务,这个时候获取的是reqid是请求id,通过这个id定时去查询cache是否有结果。

命令行中执行

网友回复


