分享个代码
公司的项目 基本都是查询 其中大量用到了redis缓存,为了避免让用户触碰到第一次的缓存长加载
我的思路是增加个链接加速命令,使用guzzle
去访问这些需要缓存的接口 则会缓存住数据,但是这其中的guzzle服务器配置 因为每个人的电脑或者不同服务器配置的影响,经常会超时,或者引起网站短时间内504 502。做了个小小的优化
新建config文件 命名 url-speed.php
配置如下:
env
及 env.example
按照不同环境手动配置如下:
期间具体业务不便展示,会用到这些具体数值来构造guzzle服务器相关配置,数据的大小切分等,略过了
还支持自动配置
只需要 SPEED_AUTO
配置为 true
即可开启自动模式
自动模式在命令加速文件中代码如下:
原理就是识别cpu与内存配置,单词动态更改 config
文件做出配置的更改
这样子 一个自动识别环境配置 也可手动根据配置激进或稳定配置的 动态配置器 就完成了
本作品采用《CC 协议》,转载必须注明作者和本文链接
好思路,你是要我们吐槽吗?
哈哈,这个代码不优雅,你看,这个获取 CUP 相关的代码,和 拿到 CUP 相关数据做判断的代码 本是两件事,你写在了一起,再一看,代码还安插在 __construct,导致下个人来看代码的时候,需要一定时间才能弄清 :实例这个类会做什么操作。
@bigbug 现在我来正名拉
1.本代码仅在一个文件内使用,过度封装 是个不好的习惯
2.本代码 是必须经过执行的 所以放到construct和内部的效果是一致的,但是内部的代码一般有很多,所以不建议放到内部的
3.你可能理解错了哦,这个代码只使用了一个功能,所以不存在看不清楚代码,需要跳转的问题哦
从头到尾,他只为了一个命令而服务哦

这里是特地起了服务去访问需要缓存的接口?
感觉好像哪里怪怪的
虽然完整代码没有放上来
给你们看看我Artisan小王子写命令界面吧~
@
为了和laravel融合贯通, 方便修改添加链接,写了这个命令,通过guzzle访问,个人比较喜欢这种方式
分享个问题
由于服务器配置问题,可能导致的加速异常,我手动写了个不雅观的代码重试一次,有没有人做过这种的,遇到异常就一直重试,重试自定义几次或者一直到成功的呢?
@chowjiawei 我给你写一个,看看行不行
啥叫guzzle服务器? 为啥通过guzzle可以缓存住数据? guzzle不就是个http client库么?