- 博客(18)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 为什么开始写博客
在以前我都是把所有的知识点都放在 笔记里面后来和一朋友聊天说虽然把知识点写在了笔记里面但是那只是你自己的知识如果写成了博客那么就可以和别人交流可以更好的发现自己的知识的错误所以我想,我开始写博客...
2019-02-20 13:53:52 114
原创 订单加锁
订单加锁第一种方式使用数字据增加版本字段的方式针对卖商品比较合适第二种方式使用redis加锁的方式针对竞争性操作合适第三种方式 redis watch第一种方式使用数字据增加版本字段的方式针对卖商品比较合适基本思路是在商品活订单等地方增加一个版本号字段(有的说是增加锁标志,你可以不用想这种方式),增加之后第一次查询是否可以交易的时候把版本号查询出来,然后当真正的去更新订单状态的时候要把版本号也...
2019-12-17 17:34:19 1225
原创 php实现全排列的算法一步步的优化
给定字符串 ‘abcd’要求把这个字符串的任意组合方式全部打印出来,实现这个算法用了三个方法一个比一个进步,1:先分析这个事情是全排列,可能性是 432*1 = 24 所以可知第一个坑4个可能二个坑三个可能2:循环处理四个坑3:上方法/**最终版 * @param string $s 这个是变化的字符串循环处理这个 从上一个方法的循环可以得到这个,当这个长度为1的时候应该是只是输出...
2019-05-07 18:15:25 683
原创 记一次排查队列消费失败
对列软件 :rabbitmq, 协议 AMQP现象:队列数据被消费,但是对应的数据没有在数据有展示导致前端显示错误。第一次排查怀疑的几个方向1:代码出问题了没有写到数据库。2:队列消费失败导致没有写入数据库。打开消费端日志,发现日志没有报错,只是看到消息接收了两次,然后提示已被消费,可以排除数据库插入错误,可以排除消费端程序没有宕掉,没有消费失败。第二次排查,先把redis 锁关闭,再把进程...
2019-03-14 18:41:10 682
原创 数据库索引相关
查看表的索引 show index from sp_fund创建普通索引:CREATE INDEX indexName ON mytable(username(10)); //字符串前10位设置索引CREATE INDEX indexName ON tableName(price_date)创建组合索引CREATE INDEX date_code ON tableName(p...
2019-02-28 18:17:32 163
原创 mysql gone away的几种原因
报出错误, SQLSTATE[HY000]: General error: 2006 MySQL server has gone away1:客户端8小时无活动,致使服务端主动断开连接,当客户端用旧有连接去请求数据库时回导致这个错误2:客户端请求连接超时,默认连接超时时间是 30s ,也就是说客户端发起连接请求后 30s内没有连接上就会报出这个错误3:数据库连接数满了,当数据库连接数满了的时...
2019-02-28 18:16:09 283
转载 令人困惑的strtotime的坑-好文
转载自 :http://www.laruence.com/2018/07/31/3207.html//结果 2018-06-30echo date(“Y-m-d”,strtotime("-1 month",strtotime(‘2018-7-30’)));echo ‘—’;//结果 2018-07-01echo date(“Y-m-d”,strtotime("-1 month",strt...
2019-02-25 10:07:00 302
原创 json_decode的坑
当 json_decode解析字符串的时候会把字符串转成int 类型$a = "6493798054351761409";$linData['options']['defvalue'] = json_decode($a, true);var_dump($a);var_dump($linData);
2019-02-25 09:59:23 458
原创 数据库索引相关
查看表的索引 show index from sp_fund创建普通索引:CREATE INDEX indexName ON mytable(username(10)); //字符串前10位设置索引CREATE INDEX indexName ON tableName(price_date)创建组合索引CREATE INDEX date_code ON tableName(p...
2019-02-25 09:54:45 138
原创 关于MySQL 通用查询日志和慢查询日志分析
MySQL中的日志包括:错误日志、二进制日志、通用查询日志、慢查询日志等等。这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志。通用查询日志:记录建立的客户端连接和执行的语句。慢查询日志:记录所有执行时间超过long_query_time秒的所有查询或者不使用索引的查询慢查询日志MySQL的慢查询日志是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阈值的语句,具体...
2019-02-20 14:22:18 119
原创 mysql的锁和并发控制(MVCC)
mysql在两个层面实现了并发控制:服务器层和存储引擎层大多数数据库包括mysql为了提升并发性能都实现了MVCC,不是简单地行级锁。理解:1,无论是否加锁都可以读到资源,如果加锁只阻塞修改资源,原因就是 innodb 引擎实现了MVCC机制,在读资源的时候读取小于等于当前版本号的数据,在update 和显式加写锁的时候 会给资源加写锁,但是其他事务读取该资源时会根据版本号读取最新的数据不会...
2019-02-20 14:20:29 162
原创 limit ,group by ,order by 都是对扫描结果的操作,必须带条件
limit 语句不能减少数据库扫描数据量 如下两条语句扫描的数据是一样的都是全表扫描EXPLAIN SELECT * from testEXPLAIN SELECT * from test ORDER BY g desc LIMIT 0,1limit ,group by ,order by 都是对扫描结果的操作,所以limit不能是扫描数据加快...
2019-02-20 14:19:33 1073
原创 Mysql为什么不建议使用join
实上,用分解关联查询的方式重构查询有如下的优势:让缓存的效率更高。许多应用程序可以方便地缓存单表查询对应的结果对象。如果关联中的某个表发生了变化,那么就无法使用查询缓存了,而拆分后,如果某个表很少改变,那么基于该表的查询就可以重复利用查询缓存结果了。将查询分解后,执行单个查询可以减少锁的竞争。在应用层做关联,可以更容易对数据库进行拆分,更容易做到高性能和可扩展。查询本身效率也可能会有所提升...
2019-02-20 14:18:47 570
原创 mysql gone away的几种原因
报出错误, SQLSTATE[HY000]: General error: 2006 MySQL server has gone away1:客户端8小时无活动,致使服务端主动断开连接,当客户端用旧有连接去请求数据库时回导致这个错误2:客户端请求连接超时,默认连接超时时间是 30s ,也就是说客户端发起连接请求后 30s内没有连接上就会报出这个错误3:数据库连接数满了,当数据库连接数满了的时...
2019-02-20 14:17:44 3511
原创 location 匹配规则
简单理解就是 :以~ 开头的是 正则匹配,其他的是普通匹配, 普通匹配是最大前缀匹配例如 location / 就是说明前缀是 / 的就一定能匹配上,如果有多个匹配上那么哪个节点是在最终结果?有几种情况1,全匹配,就是 location 后面的 字符串和 uri一模一样,这种通常是普通匹配2,正则匹配,就是 location后面的字符串是一个正则表达式和 uri匹配上3,普通匹配,就是l...
2019-02-20 14:10:19 856
原创 fastcgi 模块各个常用变量的意义
nginx fasrcgi 模块的文档: http://nginx.org/en/docs/http/ngx_http_fastcgi_module.htmlfastcgi_pass :设置FastCGI服务器的地址。将匹配到该location的请求转发到设置的地址上地址取值为三种1:域名或IP地址以及端口 例如:fastcgi_pass localhost:9000;2:UNIX域套接字...
2019-02-20 14:04:12 2359
原创 nginx怎么和php-fpm协作的
webserver只能解析静态文件如果是动态文件就需要解释器解释然后获得结果再返回给客户端nginx 是webserver 服务器而 PHP是 动态脚本,他们之间的通信需要通过协议通话,所以出现了cgi 和 fastcgi 协议 。疑问是php-fpm中是怎么加载php.ini的?如果是master加载那么每次修改php.ini 就得重启 pap-fpm 如果是 php-fpm管理的php-c...
2019-02-20 14:03:34 168
原创 nginx配置文件详解
配置文件中没有出现的配置全部会使用 默认的配置nginx 文档地址 http://nginx.org/en/docs/需要注意的:1:nginx配置语言其实是一种微型语言2:nginx中使用的变量是nginx自动解析存储的可以看看nginx常量的笔记3:nginx 调用 fastcgi 模块程序其实就是类似于调用另一个程序可以传递变量,就像 这种(fastcgi_param SCRI...
2019-02-20 13:59:03 275
css让内层元素的显示效果覆盖外层父元素的显示效果如图,求解答
2015-05-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人