- 博客(30)
- 收藏
- 关注
原创 【无标题】
⽬标实例节点ip: 10.0.10.32(目标节点)配置rsync服务端(主节点)。10.0.10.32(目标节点)目标节点安装rsync。
2024-03-28 15:51:32
212
原创 python 不定长参数
*args 和 **kwargs*args: 被传入后,被封装为一个tuple。def func(*args): print(args) # (1,2,3,4) print(*args) # 1 2 3 4func(1,2,3,4)
2022-08-27 11:44:56
170
原创 DAY08- count(*)
count(*) 实现方式MyISAM 引擎把一个表的行数存在了磁盘上,所以执行 count(*)直接返回,效率很高InnoDB,需要一行一行地从引擎里面读出来,然后累计计数。count(*) 没加where条件,不然MyISAM也不能返回这么快为什么InnoDB不存起来??因为 MVCC的缘故,同一时刻不同用户查到的值也可能不同。如何计数本质:需要自己找一个地方,记录起来redis 缓存,优点:速度很快。缺点:丢失数据,在mysql更新的时候,就会有问题 。而且redis崩溃的
2022-03-02 10:15:21
241
原创 DAY07
删除表,文件大小不变删除流程删除某条记录,InnoDB会把这行记录标记为删除,如果之后再插入一条数据的话,可能会复用这个位置。所以,磁盘的大小并不会变。所以通过delete删除的时候,就是把所有的数据页标记为可复用,但是磁盘上,文件不会变小。也就是说,通过 delete 命令是不能回收表空间的。这些可以复用,而没有被使用的空间,看起来就像是“空洞”插入数据也会造成空洞,会产生页分裂。更新所索引就是删除一个旧的值,插入新的值。也有空洞。结论: 大量的增删改,都可能造成空洞。去掉空洞,就达到
2022-03-01 23:42:42
106
原创 DAY06-普通索引和唯一索引
查询效率select * from T where id=1普通索引查询过程:先查找id=1的数据,然后向右查找,直到找到第一个id != 1的数据,然后返回。唯一索引查询过程: 查找id=1的数据,找到立刻返回(因为是唯一索引,不存在重复)极端情况:数据是按页保存的,当使用普通索引,恰巧id=1的数据是当前页的最后一个,需要将下一个数据页读入内存进行判断,但是一页大概是16K,可以存储上千个key,可以忽略不计。更新效率change buffer过程:更新的数据如果在内存中,就直接更新。
2022-02-17 20:40:05
155
原创 DAY05-锁
锁的初衷是处理并发问题。根据加锁的范围,大致分为三级:全局锁、表级锁、行锁读锁 是共享锁,加上之后其他锁只能读不可写,本线程也不能写。写锁 是排它锁,写锁意味着其他线程不能读也不能写。全局锁加全局读锁Flush tables with read lock (FTWRL)set global readonly=true遇到异常后,系统会自动释放FTWRL,整个库回到正常的状态。如果设置了global,则不会更改。风险较高使用场景:做全库逻辑备份表级锁表锁一般都是数据库.
2022-02-16 14:54:24
222
原创 DAY04-索引篇
索引就是一种数据结构常见的索引结构:哈希表、有序数据、搜索树哈希表结构:一种键值对存储的数据结构实现方式:把值放在数组里,用一个哈希函数把key换算成一个确定的位置,然后把value放在相应的位置里。会出现多个key经过hash计算后,出现重复的情况,处理这种情况的办法就是 拉出一个链表。优点:等值查询速度非常快缺点:范围查询要进行全表扫描适用范围: 适用于等值查询的情况,比如 Memcached及其他一些NoSQL引擎有序数据结构: 数组优点: 等值查询和范围查询..
2022-02-16 11:22:18
369
原创 DAY03
事务事务 保证 一组操作全部成功,或者失败。事务是引擎层实现的,MYISAM不支持事务,InnoDB支持事务事务的4个特性,ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性)当数据库上有多个事务同时执行时候,就会出现脏读、不可重复读、幻读的问题。所以有个隔离级别的概念`事务的隔离级别:读未提交(read uncommitted):一个事务未提交,他的更变就可以被其他事务看到读提交(read committed)
2022-02-16 10:27:34
203
原创 DAY02
DML语句。insert、update、delete、create等数据库操作语句WAL技术:Write-Ahead Logging,先写redo log日志,再写磁盘。‘先写日志’ 也是先写磁盘,只不过日志是顺序写盘,速度很快redo log 是 InnoDB引擎特有的日志当要更新数据时,先写redo log,等数据库空闲的时候在更新数据。但是redo log 有大小限制,达到限制之后,要强制刷日志。有了redo log ,即使数据库异常了,也可以根据redo log来恢..
2022-02-11 16:05:11
618
原创 MySQL感悟DAY01
零散记录:DAY011、MySQL 分为 客户端和服务端。2、服务端分为两部分:server层存储引擎层3、8.0版本取消了缓存模块4、缓存是以key:value的形式存在 key是sql语句,value是结果5、表的更新会导致缓存全部失效4、长链接会导致内存持续增长,不会释放,时间长了会发生OOM,怎么解决?定期断开长链接版本>=5.7,每次执行大操作后, 通过执行 mysql_reset_connection 来重新初始化链接资源,使恢复到刚刚创建完的状态。5、分析
2022-02-10 20:37:19
514
原创 docker自定义镜像
docker commitdocker commit: 从容器创建一个新的镜像用法:docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]options说明:-a: 提交的作者-c: 使用Dockerfile指令来创建镜像-m: 提交时的说明文字-p: 在commit时,将容器暂停示例:将容器ce6c62e0b989保存为新的镜像。docker commit ce6c62e0b989 xxxxxx:version可以在 此时直接
2021-11-05 14:37:41
380
原创 Linux 命令 su 和 sudo 区别
Linux 命令 su 和 sudo 区别1、su 命令介绍及其主要用法su 是 swtch user,顾名思义:就是切换用户1、参数su <user_name> 或者 su - <user_name>- 是一种 login-shell的方式,切换另一个用户之后,会加入对应的环境变量和各种设置。不加-,是一种 no-login-shell, 当前的shell还是加载切换之前的用户的。2、切换到指定用户su后面不跟 <user_name> 默认切换到 r
2021-11-02 15:28:21
291
转载 vim 字符串替换
总是记不住,特此记录一下。vim[range]s/s1/s2/ [option][range] 表示检索范围,省略时表示当前行。下面是一些检索范围的例子。1,10表示从第 1 行到 10 行。%表示整个文件,同1, $. ,$从当前行到文件尾。s 为替换命令s1 要被替换的串,s2 为替换的串...
2021-03-25 12:14:44
377
原创 golang 数组和切片
数组概念特点:具有相同 唯一类型一组已编号且长度固定可以通过索引来读取或者修改最大长度为 2Gb声明格式var identifier [len]typpe例如:var arr1 [5] intvar arr2 [10]string在内存中的结构是:每个元素是一个整型值,当声明数组时所有的元素都会被自动初始化为默认值 0。arr1 的长度是 5,索引范围从 0 到 len(arr1)-1。对索引项为 i 的数组元素赋值可以这么操作:arr[i] = value,所以数组是 可变的
2021-03-11 21:08:27
149
原创 go make和new的区别
new()和make()的区别看起来二者没有什么区别,都在堆上分配内存,但是它们的行为不同,适用于不同的类型。new(T) 为每个新的类型T分配一片内存,初始化为 0 并且返回类型为*T的内存地址:这种方法 返回一个指向类型为 T,值为 0 的地址的指针,它适用于值类型如数组和结构体;它相当于 &T{}。make(T) 返回一个类型为 T 的初始值,它只适用于3种内建的引用类型:切片、map 和 channel换言之,new 函数分配内存,make 函数初始化;下图给出了区别:...
2021-03-11 20:54:00
118
原创 docker 内连接 oracle
RUN apt-get update && apt-get install -yqq libaio1 unzip && mkdir -p /opt/oracle && cd /opt/oracle && wget https://s3.cn-north-1.amazonaws.com.cn/ext-etl-data/insta...
2020-09-05 09:56:14
151
转载 代码结构中Dao,Service,Controller,Util,Model是什么意思,为什么划分?
作者:暗灭链接:https://www.zhihu.com/question/58410621/answer/156868800来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。适合受众:2年以下的初级程序员和0基础的门外汉内容大纲:为什么需要一个好的代码结构什么样才是一个好的结构每一个分类代表什么含义是否适用于WEB,Android和IOS?进一步...
2020-09-05 09:55:50
608
2
原创 sql 小知识点
sql 几个要点0.DBMS数据库管理系统1.distinct针对全部,不能针对部分2. order byorder by 放在最后order by A, B 先按A,在A相同的时候按照Border by 可以按照位置排序SELECT prod_id, prod_price, prod_name FROM Products ORDER BY 2, 3;order by 降序用 desc, 只针对前面的列。如果想在多个列上进行降序排序,必须对每一列指定 DESC 关键字。SELECT
2020-05-18 16:27:41
134
原创 docker swarm
重要概念swarmswarm 运行 Docker Engine 的多个主机组成的集群。调度角色。nodeswarm 中的每个 Docker Engine 都是一个 node,有两种类型的 node:manager 和 worker。为了向 swarm 中部署应用,我们需要在 manager node 上执行部署命令,manager node 会将部署任务拆解并分配给一个或多个 work...
2019-11-05 17:22:18
177
原创 pre-commit
1.Install pre-commitpip install pre-commit2. Add a pre-commit configurationcreate a file named .pre-commit-config.yaml# See https://pre-commit.com for more information# See https://pre-commit.co...
2019-10-09 14:31:54
290
原创 ubuntu 搭建 ceph
ubuntu 搭建 ceph首先理解三个概念: 文件存储系统,快存储系统,对象存储系统准备工作:虚拟机三台:ip: 192.168.87.132 ceph-adminip: 192.168.87.133 node0ip: 192.168.87.134 node1系统: ubuntu 16.041.配置节点host为了方便后边安装,以及 ssh 方式连接各个节点,我们...
2019-06-21 11:34:04
1413
原创 线程,进程,协程
进程一个正在运行的程序,线程线程是CPU调度的最小单位区别每个进程里面包含一个或者多个线程进程之间的资源不是共享的线程之间共享资源,可以用锁来限定。协程也叫微线程多线程时,多次切换上下文成本较高。由操作系统控制协程成本很低,由我们控制...
2019-05-10 18:58:17
158
原创 mysql相关知识
事务。索引。sql优化。常见配置。存储引擎。mvcc。4个隔离级别。mysql 事务悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作乐观锁:假设不会发生并发冲突,只在提交操作时检查是否违反数据完整性。4个特性一致性原子性隔离性持久性4个隔离级别(由低到高)Read uncommitted一个事务可以读取另一个事务未提交的内容Read commit...
2019-05-10 15:55:02
176
原创 redis 底层原理实现
1.Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。2.简单动态字符串c字符串是以空字符结尾的字符串,redis中使用sds(Simple Dynamic String, 简单动态字符串)代替c字符串,sds定义:区别如下:3.字典Redis数据库使用字典来作为底...
2019-05-08 18:59:41
22862
3
转载 django 重置迁移文件
转载于:https://blog.csdn.net/zhuoxiuwu/article/details/52167599
2019-03-05 17:50:08
2393
转载 数据库id 重复
查找表中最大的idSELECT MAX(id) FROM scholars;查找自增的id最大值SELECT nextval(’{表名}_id_seq’);修改自增id最大值SELECT setval(’{表名}_id_seq’, (SELECT MAX(id) FROM scholars));检查SELECT nextval(‘scholars_id_seq’);...
2019-03-05 11:31:10
445
原创 pgsql 锁表问题
释放select pg_terminate_backend(pid)from pg_stat_activitywhere 条件查询select * from pg_stat_activity;
2019-03-05 11:04:32
777
原创 django restframework
django reset@TOCdjango restframework单元测试测试你写的代码是不是有正常。覆盖率就是单元测试走过的代码和总代吗的占比。coverage run manage.py test --help。可以根据view或者service来写。测试时候会建立数据库,测试完成之后会删除。coverage report...
2019-02-26 17:21:50
114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人