自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 收藏
  • 关注

原创 【linux】重要目录介绍

proc文件目录是一个伪文件,它只存在于系统内存中,而不占用外存空间。它以文件系统的方式为用户提供访问内核数据的操作接口。root用户专属目录,也是root的家目录。存放系统用户相关的配置信息。

2022-09-19 22:04:22 239 1

原创 生成全世界唯一的uuid(golang实现)

这里程序生成的是一个长度为13的byte数组,具体如何把这个数组转成一个用户友好的字符串方法有很多,比如6字节6字节为一个单位映射成字符。48位mac地址+16位进程号+32位时间戳+8位时间戳内偏移量。48位mac地址保证了同一机器上生成的uuid不会和其他机器冲突。8位时间戳内偏移量保证了同一进程同一时间生成的uuid不唯一。16位进程号保证了同一机器上的不同进程生成的uuid不冲突。32位时间戳保证了同一进程上不同时间生成的uuid不冲突。这样子,我们的uuid就是全世界唯一的了。

2022-09-12 21:00:18 898

原创 【代码模板】simHash算法文本查重(golang代码实现)

【代码】【代码模板】simHash算法文本查重(golang代码实现)

2022-09-12 10:59:18 872

原创 【golang】简单模拟实现服务器限制QPS

服务器限流可以降低服务器的压力,如果我们将QPS限定在1000,那么就可以保证服务器每秒处理的请求不会超过1000,超过1000的那一部分直接返回一个错误信息就行了,不然他走业务流程。

2022-09-11 19:36:09 955

原创 【golang】源码层面学习日志框架logrus 01

可以看到New为我们返回了一个默认的Logger对象,也就是说直接通过包名.Info这样子打印日志,其实用的是logrus里默认的一个Logger对象(这也就意味着我们后面可以自定义logger对象)。发现默认的logger打印级别是info,这也就意味着info以下的级别日志是不打印的,这也就解释了为什么刚刚输出那里没有trace和debug信息。也就是logrus.Info()最后会变成调用Loger对象里的Log()方法,并将InfoLevel常数传入,直觉告诉我们接下来的级别判断就在这个方法里面。

2022-09-11 15:36:20 531

原创 【golang】n个协程交替执行

思路:将协程编号为[0,n-1]。创建n个锁,分别对应[0,n-1],初始化时将所有锁上锁,之后启动n个协程,对于每个协程,需要先获取自身对应的锁,获取到执行完后解放下一个协程的锁。最后别忘记启动完n个协程后将第0个锁解锁,否则这n个协程就死锁了。

2022-09-10 22:09:23 228

原创 【gRPC】快速入门

rpc也叫远程过程调用,允许一台服务器调用远程的另一台服务器中的代码,并获取返回值。grpc是一款与语言,平台无关的rpc,默认基于protobuf序列化与反序列化协议相当于定义接口,后面会用到。

2022-09-10 19:38:50 345

原创 【mysql学习笔记33】日志

二进制日志记录了所有的DDL语句和DML语句查询日志记录了客户端的所有操作语句,而二进制日志不包含DQL慢查询日志记录了所有执行时间超过long_query_time并且扫描记录数大于等于min_examined_row_limit的所有SQL语句日志,默认不开启。...

2022-07-15 14:35:59 123

原创 【golang】基于go语言的堆结构模板

【golang】基于go语言的堆结构模板

2022-07-10 21:21:31 115

原创 【系统设计】4S分析法

Scenario 场景:需要设计哪些功能,设计的质量性能等等需要有什么要求Service 服务:大系统拆分成小系统Storage 存储:数据如何存储,如何访问Scale 升级:优化维护,解决缺陷,处理可能遇到的问题罗列功能侧重主体功能1.大系统拆分成小系统2.小系统归并成完整系统关系型数据库:用户信息非关系型数据库:推文、社交图谱文件系统:图片、视频缓存系统:高速访问,适合访问频率高的数据比如朋友圈,微博,QQ空间需要获取所有好友的动态里面时间最新的100条。方案1:主动拉取当需要查看动态时

2022-07-10 17:40:32 713

原创 【MySQL学习笔记32】mvcc

redo log记录了事务提交时数据页的物理修改,是用来实现事务的持久性该日志分为两部分组成:重做日志缓冲以及重做日志文件,前者在内存中,后者在磁盘中。当事务提交之后会把所有修改信息存到该日志文件中,用于在刷新脏页(也就是未提交的数据)到磁盘发生错误时恢复数据使用。...

2022-07-04 15:26:48 131

原创 GET/POST/PUT/PATCH/DELETE含义

restful接口

2022-07-02 18:03:51 114

原创 【mysql学习笔记30】锁(非教程)

全局锁是对整个数据库进行加锁,锁住以后整个数据库将处于只读状态,其余操作均会阻塞。应用场景就是一致性数据库备份时需要加全局锁,防止备份过程中数据变动。flush tables with read lock;mysqldump -u root -p 1234 db_name>backup.sql简介元数据锁是有mysql系统自行控制的,我们无需显示使用。元数据锁主要是用来维护元数据的数据一致性,在表上有活动事务的时候,不可以对元数据进行写入操作。理解元数据可以理解为一张表的结构信息,当一张表上有活动事

2022-07-02 12:39:50 376

原创 【mysql学习笔记29】触发器

CREATE TRIGGER trigger_nameBEFORE/AFTER INSERT/UPDATE/DELETEON tb_name FOR EACH ROW – 行级触发器BEGINtrigger_statement;END;SHOW TRIGGERS;DROP TRIGGER [schema_name.]trigger_name; --没有指定schema_name默认为当前数据库

2022-07-01 10:48:46 152

原创 【mysql学习笔记28】存储函数

存储函数和存储过程十分类似,详见:【mysql学习笔记27】存储过程存储函数有返回值,且参数只能是in类型语法:characteristic(特性):例子

2022-06-30 16:36:39 174

原创 【mysql学习笔记27】存储过程

create procedure 存储过程名称([参数列表])begin—SQL语句end;call procedure_name([参数列表]);select * from information_schema.ROUTINES where routine_schema=‘xxx’;–查询指定数据库的存储过程及状态show create procedure procedure;–查看存储过程定义drop procedure [if exists] procedure_name;show globa

2022-06-30 16:26:33 161

原创 【mysql学习笔记26】视图

CREATE VIEW view_name[(col1,col2,…)] AS SELECT语句 [WITH [CASCADED|LOCAL] CHECK OPTION];show create view 视图名;select * from 视图名;CREATE OR REPLACE VIEW view_name[(col1,col2,…)] AS SELECT语句 [WITH [CASCADED|LOCAL] CHECK OPTION];ALTER VIEW 视图名(列明列表) AS SELECT语句 [

2022-06-28 16:14:22 491

原创 【mysql学习笔记25】sql语句优化

1.多条单个insert语句可以合并成一条批量插入insert语句。一次插入肯定比多次插入效果好,因为每次插入都需要建立连接。2.手动控制事务。因为mysql的事务默认是自动的,每执行一条sql语句都会开启一个事务。3.主键顺序插入。这和mysql底层有关。4.大批量数据导入不建议使用insert,而是load指令。#客户端连接服务端时,加上参数–local-infilemysql --local-infile -u root -p#设置全局参数local_infile为1,开启从本地加载文件

2022-06-28 14:33:22 689

原创 【mysql学习笔记24】索引设计原则

1.数据量大的情况下才考虑建立索引,否则效果不明显。几w条的时候索引提升不大,到了几十w条会有提升,但也不是特别大,几百w几千w的时候用索引不用索引就是天壤之别了。2.如果查询频次不高,不需要建立索引3.针对查询条件针对性地建立索引4.尽量选择区分度高的字段作为索引,如果拿性别作为字段就没啥意义了,跟全表查询没啥区别。唯一索引区分度是最高的,因为唯一索引强制字段值唯一5.尽量用联合索引,减少单列索引,查询时尽量覆盖索引,避免回表查询6.合理控制索引数量,索引不是越多越好,太多了会影响增删改效率。

2022-06-27 13:35:46 134

原创 【mysql学习笔记23】索引优化

https://www.cs.usfca.edu/~galles/visualization/Algorithms.html可以对数据结构的过程进行一个动画展示,非常直观

2022-06-27 10:57:09 304

转载 分享一个在线数据结构可视化动画网站

https://www.cs.usfca.edu/~galles/visualization/Algorithms.html可以对数据结构的过程进行一个动画展示,非常直观

2022-06-23 20:58:54 996

原创 【mysql学习笔记22】索引概述

拓展:列值唯一就是依靠唯一索引实现的。比如执行select * from user where name =‘Arm’;那么就会先去name索引里面检索Arm,查询到Arm里面对应的id是10,那么就会拿着这个10去聚集索引里面查找具体数据,然后返回。这个过程叫做“回表查询”。create [unique|fulltext] index index_name on table_name (index_col_name1,…);show index from table_name;drop index i

2022-06-23 20:56:31 68

原创 【mysql学习笔记21】存储引擎

利用select create table xxx;查看建表语句,即可看到使用了什么引擎create table xxx(…) engine=INNODB;show engines;innodb是一种兼具可靠与性能的引擎,也是现在mysql的默认引擎1.DML语句支持ACID模型,支持事务2.行级锁3.支持外键约束.idb存储表结构(frm、sdi)、数据和索引参数:innodb_file_per_table 用于指定是否每张表对应一个idb文件mysql早期默认引擎1.不支持事务2.不支持外键

2022-06-22 20:21:12 163

原创 【mysql学习笔记20】mysql体系结构

mysql体系结构

2022-06-22 12:44:12 139

原创 【mysql学习笔记19】多表查询

select * from emp,dept;相当于对emp表和dept做了笛卡尔积操作select * from emp,dept where emp.dept_id=dept.id;相当于查询员工的部门信息语法1:select * from emp inner join dept on emp.dept_id=dept.id;语法2:select * from emp,dept where emp.dept_id=dept.id;两者效果是一样的表结构结果展示(按sql语句顺序)说

2022-06-20 23:35:12 75

原创 【mysql学习笔记18】约束

外键删除/更新行为名称说明NO ACTION/RESTRICT(默认行为)当删除更新的记录被外键引用时拒绝操作CASCADE当删除更新的记录被外键引用时,同时删除更新外键对应的记录SET NULL当删除更新的记录被外键引用时,将引用的记录外键值设置为nullSET DEFAULT同理如上,设置为默认值(innodb引擎不支持)语法alter table 表名 add constraint 外键名 foreign key (外键字段) reference

2022-06-20 13:33:41 56

原创 【mysql学习笔记17】常用函数整理

用法流程控制函数

2022-06-19 19:57:45 49

原创 【mysql学习笔记16】权限管理

show grants for ‘用户名’@‘主机名’grant 权限列表 on 数据库名.表名 to ‘用户名’@‘主机名’revoke 权限列表 on 数据库名.表名 from ‘用户名’@‘主机名’flush privileges

2022-06-19 10:40:28 47

原创 【mysql学习笔记15】用户管理

use mysql;select * from user;可以看到有四个默认用户,其中user表示用户名,host表示只能由当前域名访问这个用户,所以域名+用户名才能唯一确定一个用户create use ‘用户名’@‘主机名’ identified by ‘密码’允许任意主机访问:将主机名改成%即可alter user ‘用户名’@‘主机名’ identified with 加密方式 by ‘密码’;例如:alter user ‘yqs’@‘localhost’ identified with

2022-06-18 23:20:29 230

原创 【mysql学习笔记14】DQL语句执行顺序

执行顺序from>where>group by和having>select>order by>limit

2022-06-18 21:59:23 103

原创 【mysql学习笔记13】查询语句综合练习

拓展函数length():mysql里面的length()函数是一个用来获取字符串长度的内置函数char_length():在mysql内置函数里面查看字符串长度的还有一个函数是char_length()length():单位是字节,utf8编码下,一个汉字三个字节,一个数字或字母一个字节。gbk编码下,一个汉字两个字节,一个数字或字母一个字节char_length():单位为字符,不管汉字还是数字或者是字母都算是一个字符...

2022-06-18 21:51:20 469

原创 【mysql学习笔记12】分页查询

select 字段列表 from 表名 limit 起始索引,查询记录数;1.起始索引从0开始2.可以省略起始索引,默认为0

2022-06-18 21:37:35 56

原创 【mysql学习笔记11】排序查询

select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2,…asc:升序(默认排序方式)desc:降序

2022-06-18 21:31:30 86

原创 【mysql学习笔记10】分组查询

select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 条件]where是在分组之前进行过滤,不满足where条件的行不参与分组,having是分组后对组进行过滤。

2022-06-16 19:02:45 69

原创 【mysql学习笔记09】聚合函数

注意事项:所有聚合函数不会将null纳入计算

2022-06-16 18:43:06 55

原创 【mysql学习笔记08】条件查询

select 字段列表 from 表名 where 条件列表建表以及数据SQL见学习笔记07

2022-06-16 17:28:27 73

原创 【mysql学习笔记07】基础查询

先建立一张表,并且导入一些数据基础语法select 字段列表from 表名列表where 条件列表group by 分组字段列表having 分组后条件列表order by 排序字段列表limit 分页参数select * from 表名;*号表示所有,但是效率比较差,而且不直观。select 字段1 [as 别名1],字段2 [as 别名2],… from 表名;在select 后面加一个distinct关键字即可select distinct 字段列表 from 表名;...

2022-06-16 17:14:50 51

原创 【mysql学习笔记06】sql中的DML语句

DML代表数据操作语言,用来对表中的数据进行增删改。insert into 表名 (字段1,字段2,…) values(值1,值2,…);insert into 表名 values(值1,值2,…);insert into 表名(字段1,字段2,…) values(值1,值2,…),(值1,值2,…),(值1,值2,…),…;或者insert into 表名 values(值1,值2,…),(值1,值2,…),(值1,值2,…),…;update 表名 set 字段1=值1,字段2=值2,… [wher

2022-06-16 16:22:37 57

原创 【mysql学习笔记04】SQL数据定义

查询所有数据库show databases;查询当前数据库select database();create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];drop datebase [if exists] 数据库名;use 数据库名;查询当前数据库的所有数据表SHOW TABLES;查询表结构DESC 表名;查询某张表的建表语句SHOW CREATE TABLE 表名创建表CREATE TABLE 表名(

2022-06-16 16:08:12 275

原创 【mysql学习笔记05】数据类型

mysql数据类型

2022-06-14 23:23:10 45

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除