<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weixin_42560621的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weixin_42560621</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_42560621]]></copyright><item><title><![CDATA[PHP原理之Opcodes]]></title><link>https://blog.youkuaiyun.com/weixin_42560621/article/details/106315145</link><guid>https://blog.youkuaiyun.com/weixin_42560621/article/details/106315145</guid><author>weixin_42560621</author><pubDate>Sun, 24 May 2020 14:57:50 +0800</pubDate><description><![CDATA[Opcode是一种PHP脚本编译后的中间语言，就像Java的ByteCode,或者.NET的MSL，举个例子，比如你写下了如下的PHP代码：





&lt;?php
	echo "Hello World";
	$a = 1 + 1;
	echo $a;
	?&gt;
PHP执行这段代码会经过如下4个步骤(确切的来说，应该是PHP的语言引擎Zend)





1.Scanning(Lexing) ,将PHP代码转换为语言片段(Tokens)
	2.Parsing, 将Tokens...]]></description><category></category></item><item><title><![CDATA[高并发 redis出现击穿，穿透，雪崩以及方案]]></title><link>https://blog.youkuaiyun.com/weixin_42560621/article/details/106314854</link><guid>https://blog.youkuaiyun.com/weixin_42560621/article/details/106314854</guid><author>weixin_42560621</author><pubDate>Sun, 24 May 2020 14:49:29 +0800</pubDate><description><![CDATA[击穿：指的是单个key在缓存中查不到，去数据库查询，数据库数据量大并且是高并发的情况下那么就可能会造成数据库压力过大而崩溃。

解决方案:

1，通过synchronized+双重检查机制：某个key只让一个线程查询，阻塞其它线程（缺点）。

2，设置value永不过期

3，使用互斥锁(mutex key)

雪崩：指的是多个key查询并且出现高并发，缓存中失效或者查不到，然后都去db查询，从而导致db压力突然飙升，从而崩溃。出现原因: 1 key同时失效 2 redis本身崩溃了。

方案:

1，..]]></description><category></category></item><item><title><![CDATA[crontab]]></title><link>https://blog.youkuaiyun.com/weixin_42560621/article/details/95363208</link><guid>https://blog.youkuaiyun.com/weixin_42560621/article/details/95363208</guid><author>weixin_42560621</author><pubDate>Wed, 10 Jul 2019 18:28:31 +0800</pubDate><description><![CDATA[crontab

minute hour day month week user-name command

minute---分钟 （0-59）

　　hour------小时（0-23）

　　day--------日期（1-31）

　　month---月份（1-12）

　　week----星期（0-6） //0代表星期天

　　除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",...]]></description><category></category></item><item><title><![CDATA[Linux的基本指令]]></title><link>https://blog.youkuaiyun.com/weixin_42560621/article/details/95350413</link><guid>https://blog.youkuaiyun.com/weixin_42560621/article/details/95350413</guid><author>weixin_42560621</author><pubDate>Wed, 10 Jul 2019 16:40:38 +0800</pubDate><description><![CDATA[1、ls指令

含义：ls（list）

注意：ls列出的结果颜色说明，其中蓝色的名称表示文件夹，黑色的表示文件，绿色的其权限为拥有所有权限。

用法1：#ls

含义：列出当前工作目录下的所有文件/文件夹的名称

用法2：#ls路径

含义：列出指定路径下的所有文件/文件夹的名称

用法3：#ls选项路径

含义：在列出指定路径下的文件/文件夹的名称，并以指定的格式进行显示。

常见的语...]]></description><category></category></item><item><title><![CDATA[PHP接口权限控制]]></title><link>https://blog.youkuaiyun.com/weixin_42560621/article/details/88864745</link><guid>https://blog.youkuaiyun.com/weixin_42560621/article/details/88864745</guid><author>weixin_42560621</author><pubDate>Thu, 28 Mar 2019 11:11:56 +0800</pubDate><description><![CDATA[1，数据表
CREATE TABLE `pet_permission_node` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `node_name` varchar(155) NOT NULL DEFAULT '' COMMENT '节点名称',
 `module_name` varchar(155) NOT NULL DEFAULT '' COMM...]]></description><category></category></item><item><title><![CDATA[wkhtmltopdf]]></title><link>https://blog.youkuaiyun.com/weixin_42560621/article/details/88863870</link><guid>https://blog.youkuaiyun.com/weixin_42560621/article/details/88863870</guid><author>weixin_42560621</author><pubDate>Thu, 28 Mar 2019 10:51:11 +0800</pubDate><description><![CDATA[1.最近公司需要把html页面的内容生成pdf并下载，试过很多方法都没有满意的效果，后来找到wkhtmltopdf这款软件，终于解决了这个问题。


2、下载安装
  官网：https://wkhtmltopdf.org/。

  主页download里下载对应系统的版本安装并把安装后的文件放到vs里面方便之后调用。


3、添加水印
  公司要求生成的pdf需要添加水印，每...]]></description><category></category></item><item><title><![CDATA[php 计算xirr]]></title><link>https://blog.youkuaiyun.com/weixin_42560621/article/details/88862541</link><guid>https://blog.youkuaiyun.com/weixin_42560621/article/details/88862541</guid><author>weixin_42560621</author><pubDate>Thu, 28 Mar 2019 10:06:15 +0800</pubDate><description><![CDATA[//计算xirr方法


function getXirr($cashflows){
    if(empty($cashflows)) return 0;
    $years=[];
    $first_time=strtotime($cashflows[0]['stringTime']);

    foreach ($cashflows as $v){
        $years...]]></description><category></category></item></channel></rss>