缓存设计要点
个人总结的缓存设计几个要点。
缓存时间
1. 合理设计缓存时间,尽量避免持久化
2. 避免惊群效应(挤兑)
Home of Little Jelly
个人总结的缓存设计几个要点。
缓存时间
1. 合理设计缓存时间,尽量避免持久化
2. 避免惊群效应(挤兑)
从2019.9月开始,对交易系统的改版和后来会员系统的编写,走了不了弯路,在这期间验证了一些开发和部署思路的正确性,也认识到一些思路的不足。
简单总结
FastAdmin里的关联查询继承自ThinkPHP5,借助它可以实现列表中关联表ID对应的字段显示,还可以实现更为方便的模糊搜索。
比如`user_log`表中,`user_id`字段对应是的`user`表中的`id`,我们要显示和搜索`user`中的`username`字段,就可以这么做。
`UserLog`控制器对应的Model文件,添加内容如下
EasySwoole进程偶尔会出现挂掉的情况,可做一个定时任务脚本来守护它,检测到进程挂掉时自动拉起。
脚本命名为 `es.bash`,内容:
FastAdmin的表单中,会遇到自己添加的select下拉框不显示的问题。
此种情况多是从别的模板copy的代码,select下拉框的样式为`class=”form-control selectpicker”`。
EasySwoole下日志处理有多种方式。
典型的是官方推荐的处理方式,自定义一个日志处理类实现`EasySwoole\Log\LoggerInterface`接口,并在`EasySwooleEvent.php`中的`initialize`方法中,设置由该类来接管日志,则运行中的所有日志都由该类来处理了。
EasySwoole的进阶用法中有Timer、Task、Crontab、Process。
Timer
也就是定时器,在`EasySwooleEvent.php`中的`mainServerCreate`中注册
Web服务器水平扩充步骤。
文中的实例即是服务器。
测试背景:基础框架下的用户登录和用户信息获取,登录时Token写入Redis,获取用户信息时先从Redis中获取到相应的用户ID,再从MySQL中读取用户信息。
线上服务器采用的是阿里云的ECS,数据库与程序共用一台服务器。
EasySwoole开发测试心得。
1. MySQL类可在Swoole原生的`Swoole\Coroutine\MySQL`上扩展,速度快且使用方便。EasySwoole提供的MySQL操作类不好用且有点慢。