要使用scheme打开微信调试工具
2023-02-22 12:45:08

1

mysql热备份增量备份-Percona XtraBackup
2022-08-16 10:30:32

使用备份工具Percona XtraBackup

对mysql进行热备份,增量备份

MYSQL EXPLAIN详解
2022-07-30 15:26:36

EXPLAIN是MySQl必不可少的一个分析工具,主要用来测试sql语句的性能及对sql语句的优化,或者说模拟优化器执行SQL语句。

在select语句之前增加explain关键字,执行后MySQL就会返回执行计划的信息,而不是执行sql。但如果from中包含子查询,MySQL仍会执行该子查询,并把子查询的结果放入临时表中。它显示了mysql如何使用索引来处理select语句以及连接表,可以帮助选择更好的索引和写出更优化的查询语句。

...

php8新特性
2022-07-30 11:43:39

1、 联合类型

一个变量可以定义多种数据类型

function sumNum(int|float $numX, int|float $numY){

    return $numX+$numY;

}

2、命名参数

调用函数时跟上key和value

user(name:'',age:1,sex:1)

...

rabbitmq如何处理消息丢失的问题
2022-07-19 14:44:17

开启rabbitmq事务功能

使用confirm机制

linux服务器中病毒后的清除处理
2022-07-19 14:33:31

今天去查看服务器的时候发现中了挖矿病毒,很是恼火。因为我平时很少接触服务器,一般都是部署项目,配置域名就完事。

服务器CPU资源使用一直处于100%的状态或,连接服务器的时候明显感觉到消耗的时间比以往要久。Kill该进程以后还会更换端口,很快就又被创建出来了。

...

SSE技术详解:使用HTTP做服务端数据推送应用的技术
2022-07-19 14:24:25

 SSE 和 WebSocket 做的是同一件事情。当你需要用新数据局部更新网络应用时,SSE 可以做到不需要用户执行任何操作,便可以完成。

  举例我们要做一个统计系统的管理后台,我们想知道统计数据的实时情况。类似这种更新频繁、 低延迟的场景,SSE 可以完全满足。

  其他一些应用场景:例如邮箱服务的新邮件提醒,微博的新消息推送、管理后台的一些操作实时同步等,SSE 都是不错的选择。

...

Linux系统下提示磁盘空间满,但实际占用却很小
2022-07-13 09:25:34

错误描述:

    今早发现磁盘空间满,服务数据写不进数据库中,使用du -h --max-depth=1命令查看大文件,发现文件只占100G,然而使用df -h 命令查看时,磁盘用了200G占用了百分之一百。其中100G的空间莫名其妙就没有了

解决方法:

    用lsof检查后才发现原因是,有文件被删除,而进程还活着,因而造成还占用空间的现象。可以通过命令 lsof |grep deleted 来进行查看

把这些进程删掉...

ElasticSearch搜索
2022-07-12 11:44:14

相关性搜索

match


必须同时满足两个单词才能查出 && and

match_phrase

Or查找

{

  "query" : { "match" : { "desc" : "软件 系统" }},

 "from": 20,

  "size": 10

}


...

Eloquent ORM
2022-07-09 17:59:54

递增和递减

要代替以下实现:

$article = Article::find($article_id);

$article->read_count++;

$article->save();


可以这样做

$article = Article::find($article_id);

$article->increment('read_count');

...

redis分布式锁
2022-06-29 11:43:43
$predis = new Predis\Client( [
    'scheme' => 'tcp' ,
    'host'   => '127.0.0.1' ,
    'port'   => 6379
] );
$predis->connect();
$predis->auth( "redis_password" );          // 密码验证
$predis->select( $dbIndex );          // 选择所使用的数据库, 默认有16个 redis集群选择0

$is_lock = $predis->exists( $lock_key );


单服务器文件锁-大并发时,插入数据和修改数据到数据库时应使用到的文件锁
2022-06-24 11:47:15

在没有使用集群(多服务器)时,可以使用文件锁的方式控制适量往数据库写数据

/**

     * 阻塞模式(后面的进程会一直等待前面的进程执行完毕)

     */

    public function createOrder1(){

        $file = fopen(__DIR__.'/lock.txt','w+');

        //加锁

        if(flock($file,LOCK_EX)){

            //TODO 执行业务代码

            flock($file,LOCK_UN);//解锁

        }

        //关闭文件

        fclose($file);

    }

...

依赖注入-实际代码案例-laravel核心功能代码注释讲解
2022-06-24 11:40:01

/**

 * 容器类用于装实例和提供实例的回调函数

 * Class Container 容器类

 * @package App\Ioc

 */

class Container {


    //没有用的变量,调试使用

    public  static $debug_count = 0;


    //声明数组,用于装实例的回调函数,真正的容器还会装实例等其他内容 从而实现单例等高级功能

    protected $bindings = [];


    //绑定接口 和 生成相应实例的回调函数

    public function bind( $abstract , $concrete = null , $shared = false) {

        Container::$debug_count++;

  ...

laravel一些使用技巧和工具
2022-06-22 14:34:21

api没有CSRF 保护

web取消 CSRF 保护检查需要这样做

app/Http/Middleware/VerifyCsrfToken.php

protected $except = [
    //
    //'foo','bar'
];


laravel最佳实践-纠正代码习惯-实际经验总结
2022-06-18 18:02:35

PHP最佳写法实践

翻译来源:https://github.com/alexeymezenin/laravel-best-practices

铁则:

*所有命名必须见名知意,易读!!!

*永远不要在路由文件里面写逻辑!!!

*永远不要在模板文件里面写原始 php 代码!!!

遵循 命名约定

未写完的功能(比如在下班时)在代码里要写 //todo 已经完成的功能: 未完成的功能:

数据库查询只能写在Model层和Repository

单一职责原则

说明:一个函数里面不要有太多功能的代码,不同功能的代码应该拆分成不同的函数

laravel模型操作
2022-06-15 18:30:49

创建模型

php artisan make:model User       // 默认对应的表是 users
php artisan make:model AbCd       // 默认对应的表是 ab_cds
/**
规则:
    1. 除第一个大写字母,其他大写字母前都加上下划线
    2. 所有的大写字母改成小写
    3. 末尾加 s
*/

模型之读

App\User::all();                          // 返回包含所有对象的集合
\App\User::where('name', 'John')->first(); // 返回对象


网站seo
2022-06-15 18:07:12

seo是长期过程,长期才会有效果,切勿急躁!


需要了解的百度算法:只需要知道是做什么的,不要触碰到百度底线即可。

绿萝   2013年2月19日上线 - 打击买卖链接的行为,包括超链中介、出卖链接的网站、购买链接的网站

石榴 2013年5月17日上线 - 打击大量妨碍用户正常浏览的恶劣广告的页面

冰桶 2014年8月30日上线 - 打击强行弹窗app下载、大面积广告等影响用户正常浏览体验的页面

飓风        严厉打击恶劣采集行为 

清风        欺骗用户下载,绑定用户下载软件

细雨  页面标题列出最为核心的业务、产品,而不是通过堆砌来吸引用户关注

闪电页面加载速度快会有利于蜘蛛抓取


flex布局
2022-06-15 16:42:14

flex布局 

一下6个属性设置在容器上

  • flex-direction :布局方向

  • flex-wrap :自动换行

  • flex-flow :上面两个属性的简写

  • justify-content :子项目在容器的布局方式(横向)

  • align-items :子项目在交叉轴上如何对齐 (纵向)

  • align-content :定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用


macos 苹果系统安装老版本php
2022-06-11 10:12:38
  • brew加入第三方仓库
    brew tap shivammathur/php

  • 安装php
    brew install shivammathur/php/php@7.2

  • 链接
    brew link --overwrite --force shivammathur/php/php@7.2


workerman 使用rabbitmq示例
2022-06-09 16:06:34
composer config -g repo.packagist composer  
composer require workerman/rabbitmq

receive.php

<?php
use Bunny\Channel;use Bunny\Message;use Workerman\Worker;
use Workerman\RabbitMQ\Client;require __DIR__ . '/vendor/autoload.php';

...