微信小程序安装Vant Weapp组件库注意事项
1、在所建项目的根目录下初始化包配置管理文件
npm init -y
2、在根目录下执行
npm i @vant/weapp -S --production
3、在微信IDE的 工具-->选中构建npm,如下图
4、配合vant官网上“快速上手”一起使用
https://vant-contrib.gitee.io/vant-weapp/#/quickstart
npm init -y
npm i @vant/weapp -S --production
https://vant-contrib.gitee.io/vant-weapp/#/quickstart
直奔代码:
$content = file_get_contents($file1);
$content .= file_get_contents($file2);
return response($content)->withHeaders([
'Content-Disposition' => 'attachment; filename=' . urlencode('文件名'),
'Content-Type' => 'application/octet-stream',
]);
目前我用phpspeadsheet导出excel文件,是存为文件然后再respon的。 有没有方法直接输出而不用输出实体文件?
$writer = new Xlsx($spreadsheet);
$response = response();
ob_start();
$writer->save('php://output');
$c = ob_get_contents();
ob_flush();
flush();
$response->withHeaders([
'Content-Type' => 'application/vnd.ms-excel',
'Content-Disposition' => 'attachment;filename="xxx.xlsx"',
'Cache-Control' => 'max-age=0',
])->withBody($c);
return $response;
1、 更新十分频繁的字段上不宜建立索引:因为更新操作会变更B+树,重建索引。这个过程是十分消耗数据库性能的。
2、 区分度不大的字段上不宜建立索引:类似于性别这种区分度不大的字段,建立索引的意义不大。因为不能有效过滤数据,性能和全表扫描相当。另外返回数据的比例在30%以外的情况下,优化器不会选择使用索引。
3、 业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引。虽然唯一索引会影响insert速度,但是对于查询的速度提升是非常明显的。另外,即使在应用层做了非常完善的校验控制,只要没有唯一索引,在并发的情况下,依然有脏数据产生。
4、 多表关联时,要保证关联字段上一定有索引。
5、 创建索引时避免以下错误观念:索引越多越好,认为一个查询就需要建一个索引;宁缺勿滥,认为索引会消耗空间、严重拖慢更新和新增速度;抵制唯一索引,认为业务的唯一性一律需要在应用层通过“先查后插”方式解决;过早优化,在不了解系统的情况下就开始优化。
MYSQL的TCP连接支持长连接,所以每次操作完数据库,可以不必直接关掉连接,而是等待下次使用的时候在复用这个连接。所有的Socket长连接都是通过TCP自带的ping来维持心跳(TCP保活),从而保持连接状态。
长连接的好处很多,自然大家都用长连接。慢慢就搞出一套长连接维护的工具 - 数据库连接池。
MYSQL 的最大连接数在5.7 - 8.x 版本中默认是151, 最大可以达到16384(2^14)。如何设置最大连接数在于你的服务器性能,查看 MYSQL连接数信息命令:
show variables like 'max_connections';
查询当前数据库已建立连接数:
show status like 'Threads_connected';
设置连接池的大小肯定不是越大越好,需要考虑的是当前服务所在机器的性能,网络状况,数据库机器性能,数据库特性等等。
PostgreSQL提供了一个设置预期线程池大小的公式:connections = ((core_count * 2) + effective_spindle_count)
其中,core_count是CPU核心, effective_spindle_count 的含义是有效主轴数,如果你的服务器使用的是带有16个磁盘的RAID,那么valid_spindle_count=16。它实质上是服务器可以管理多少个并行I / O请求的度量。
div
可换成任意html
标签<div class="layui-badge layui-bg-blue" data-title="团购信息" data-area="90%,85%" ew-event="open" data-type="2" data-content="http://www.baidu.com.com">团体</div>
/**
* 获取两个日期之间的所有日期
* @param string $startDate 2022-08-08
* @param string $endDate 2022-08-08
* @return array
*/
function get_between_date($startDate = null, $endDate = null): array
{
$dates = [];
$startTime = strtotime($startDate);
$endTime = strtotime($endDate);
if ($startTime > $endTime) {
//如果开始日期大于结束日期,直接return 防止下面的循环出现死循环
return $dates;
} elseif ($startTime == $endTime) {
//开始日期与结束日期是同一天时
$dates[] = $startDate;
return $dates;
} else {
$dates[] = date('Y-m-d', $startTime);
while ($startTime < $endTime) {
$startTime = strtotime('+1 day', $startTime);
$dates[] = date('Y-m-d', $startTime);
}
return $dates;
}
}
<?php
echo date('Y-m-d H:i:s',strtotime('now'));//当前时间戳 2017-01-09 21:04:11
echo date('Y-m-d H:i:s',strtotime('+1second'));//当前时间戳+1秒 2017-01-09 21:04:12
echo date('Y-m-d H:i:s',strtotime('+1minute'));//当前时间戳+1分 2017-01-09 21:05:11
echo date('Y-m-d H:i:s',strtotime('+1hour'));//当前时间戳+1小时 2017-01-09 22:04:11
echo date('Y-m-d H:i:s',strtotime('+1day'));//当前时间戳+1天 2017-01-10 21:04:11
echo date('Y-m-d H:i:s',strtotime('+1week'));//当前时间戳+1周 2017-01-16 21:04:11
echo date('Y-m-d H:i:s',strtotime('+1month'));//当前时间戳+1月 2017-02-09 21:04:11
echo date('Y-m-d H:i:s',strtotime('+1year'));//当前时间戳+1年 2018-01-09 21:04:11
echo date('Y-m-d H:i:s',strtotime('+12year 12month 12day 12hour 12minute 12second'));//当前时间戳+12年,12月,12天,12小时,12分,12秒 2030-01-22 09:16:23
$t=1483967416;//指定时间戳
echo $dt=date('Y-m-d H:i:s',$t);//2017-01-09 21:10:16
/*方法一*/
echo date('Y-m-d H:i:s',$t+1*24*60*60);//指定时间戳+1天 2017-01-10 21:10:16
echo date('Y-m-d H:i:s',$t+365*24*60*60);//指定时间戳+1年 2018-01-09 21:10:16
/*方法二*/
//$dt是指定时间戳格式化后的日期
echo date('Y-m-d H:i:s',strtotime("$dt+1day"));//指定时间戳+1天 2017-01-10 21:10:16
echo date('Y-m-d H:i:s',strtotime("$dt+1year"));//指定时间戳+1年 2018-01-09 21:10:16
/*方法三*/
//$t是指定时间戳
echo date('Y-m-d H:i:s',strtotime("+1day",$t));//指定时间戳+1天 2017-01-10 21:10:16
echo date('Y-m-d H:i:s',strtotime("+1year",$t));//指定时间戳+1年 2018-01-09 21:10:16
//指定时间戳加1月、1周、1小时、1分、1秒原理同上;