自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 读写分流和原子操作的坑

有一个Django项目,DATABASE_ROUTERS指定了数据库读写分流,在views中有一个原子操作(@transaction.atomic),操作包含:先修改A,根据A的修改去修改B。假设修改前为A1,修改后为A2,如果A1和A2都是从数据库中读的,因为指定了读写分流,所以A1==A2,所以B一定不会被修改。小坑...

2022-03-12 14:36:57 1128

原创 mysql优化系列-批量修改

如果有批量修改的场景,一般会这样写BEGIN;UPDATE `test` set name="1" where id=1;UPDATE `test` set name="1" where id=2;UPDATE `test` set name="1" where id=3;...COMMIT;优化:BEGIN;UPDATE `test` set name="1" where id in (1, 2, 3, ...);COMMIT;但是这种优化,仅限于批量修改的字段和修改后

2022-02-15 10:37:11 433

原创 mysql优化系列-批量写入

如果有批量写入的场景,一般会这样写:BEGIN;INSERT INTO `test` (`name`) values ("1");INSERT INTO `test` (`name`) values ("2");INSERT INTO `test` (`name`) values ("3");......INSERT INTO `test` (`name`) values ("499");INSERT INTO `test` (`name`) values ("500");COMMIT

2022-02-14 20:50:16 2961

原创 Python requests 获取文件转字节流(FileResponse)

r.encoding #获取当前的编码r.encoding = 'utf-8' #设置编码r.text #以encoding解析返回内容。字符串方式的响应体,会自动根据响应头部的字符编码进行解码。r.content #以字节形式(二进制)返回。字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩。r.headers .

2022-02-14 14:57:03 3012

原创 redis 错误整理(1):(error) MISCONF Redis is configured to save RDB snapshots, but it is currently not abl

尝试执行`EXPIRE`语句时出现错误:(error) MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this insta...

2020-03-18 22:49:21 139

原创 寄存器以及 CPU 是如何执行程序的

PC寄存器(指令地址寄存器):用来存放在内存中的下一条指令所在的地址指令寄存器:用来存放当前正在执行的指令状态寄存器(条件码寄存器):用来存放当前指令执行的结果的各种状态信息,例如:有无进位,有无溢出,结果正负,结果是否为 0,奇偶标志位等 。 用来存放控制信息,例如:允许中断等。其他的一些寄存器:CPU 中有很多用来存放数据或者内存地址的寄存器,通常一类中不止一个,通...

2019-06-03 13:47:24 1328

原创 如何提高 CPU 的性能

上节接 我们通常所说的 CPU 性能是什么实际情况下主频越大,性能并不一定越高:例如基于奔腾 4 的2.4GHZ处理器的性能和基于奔腾 3 的 1.6GHZ 处理器的性能差不多。为什么?: 功耗问题我们平时所说的 CPU通常被叫做 超大规模集成电路(very large scale intergration (VLSI)),这些电路实际上由一个个的晶体管组合而成,CPU 的...

2019-05-31 17:00:14 3722

原创 我们通常所说的 CPU 性能是什么

计算机性能可以理解为搬东西:1.响应时间(执行时间),时间的倒数,理解为跑的更快程序执行的时间2.吞吐率(带宽),理解为搬得更多在一定时间范围内,能处理的事情(处理数据和执行指令)计算机的计时单位是 CPU时钟:平常所说的执行实现用在衡量计算机响应时间的时候并不准确,在执行同一段代码的时候,响应时间不同,存在差异。原因是,这种计时是用程序执行的结束时间-开始时间(Wall ...

2019-05-31 16:53:08 541

原创 解决Python乱码问题

\xe4\xbd\xa0\xe5\xa5\xbd 或者 \xc4\xe3\xba\xc3这是什么~~,在学习中经常会遇到一些情况导致中文乱码问题,那么如何解决乱码呢,很简单,可以分两步判断它是一个什么类型的乱码: str_ = b'\xe4\xbd\xa0\xe5\xa5\xbd'import chardetchardet.datect(str_)>>> {'...

2018-12-18 18:51:53 847

原创 ubuntu16.04中安装VSCODE(如果报错怎么处理)

环境:ubuntu:16.04执行以下命令安装vscodesudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo apt-get install ubuntu-make sudo umake web visual-studio-code如果报错将最后一步的web换成ide运行...

2018-11-14 14:32:44 2889

原创 使用uwsgi报错uwsgi: error while loading shared libraries: libiconv.so.2: cannot open shared object file:

在使用uwsgi的时候报错:uwsgi: error while loading shared libraries: libiconv.so.2: cannot open shared object file: no such file or directory解决办法:(需要安装anaconda)conda install -c conda-forge libiconv重新运...

2018-11-13 19:50:41 3340

原创 pip install uwsgi 报错怎么办

最近遇到pip install uwsgi 报错,无法正常安装的情况,环境是:系统: Ubuntu:16.04Python版本:3.7.0(或许适用于其他版本,如果不是3.7.0,也可以试一试)解决办法:安装anaconda 打开终端,执行 conda config --add channels conda-forge(如果提示没有权限就在前面加上sudo) 执行 conda...

2018-11-13 17:17:21 1399

原创 supervisord重启

重启supervisord需要用到supervisorcltsupervisorctl shutdown 关闭supervisord 执行:supervisord 或者 supervisord -c 你的supervisord.conf路径,启动supervisord supervisorctl status查看是否正常运行,如果不行,重复执行以上第2, 3步骤。...

2018-11-02 10:42:48 19242

原创 如何使用supervisord来控制进程

环境:ubuntu:16.04 python2.7(因为只有Python2.7支持安装supervisor)安装supervisor:1、pip 安装:pip install supervisor2、wgethttps://files.pythonhosted.org/packages/44/60/698e54b4a4a9b956b2d709b4b7b676119c833...

2018-10-31 20:18:09 416

原创 django restful serializer fields 学习总结 二、

数字字段IntegerField:int 字段,可选属性:max_value = None,min_length = None,FloatField:float 字段,可选属性同上DecimalField:十进制表示形式,对应于Python的decimal实例,可选属性:max_digits,数字中允许的最大位数(整数和小数的和,不算小数点),可以是None,或者大于等于整...

2018-08-31 09:46:14 569

原创 django-restful serializers fields学习总结 一、

core arguementsread_only:只读,只能包含在response中,如果输入的字段中有read_only属性的都将被忽略。write_only:只写,在序列化输入的时候需要,输出的时候不需要。required:在进行序列化的时候,默认的所有字段的require属性值为True,如果没有给值就会报错 ,如果仅需要其中几个,可以将字段的required设置为F...

2018-08-18 13:38:53 855

原创 计算机网络--网络层

网络层关注的是如何将分组从源主机沿着网络路径送达目的主机,会经过多个路由器,选择适当的转发路径。网络层的最核心功能是:分组转发和路由选择 分组转发:每一个路由器中都有一个转发表,在分组到达路由器时,会根据分组首部中的转发表示在转发表中查询,应该在哪一个接口被转发出去,转发标识可能是目的主机的IP地址,也可能是分组所属的连接指示,取决于具体的网络层协议。 路由选择:路...

2018-07-10 20:27:43 336

原创 计算机操作系统

计算机硬件系统的组成: 中央处理器:包括运算单元和控制单元。包括:运算逻辑部件:一个或多个运算器、寄存器部件:包括通用寄存器、控制与状态寄存器、以及高速缓冲存储器(cache)。控制部件:负责对指令译码,发出为完成每一条指令索要执行操作的控制信号,实现数据传输等功能。 主存储器 外围设备:输入、输出设备、存储设备、网络通信设备 总线:(Bus)是计算机各种功...

2018-07-10 09:49:51 190

原创 MySQL事物的4种并发问题(脏读,幻读,不可重复度,丢失更新)

由于MySQL事物的隔离级别不同,可以造成一些并发问题:一、脏读:    事物A修改了数据表中的一个数据num,但是没有提交,此时事物B读取了num,事物A rollback ,num改变为原来的值,那么事物B读到的num即为脏数据。二、幻读:    事物A在用一个表,此时事物B在表中增加/删除了一条数据,A发现多了/少了一条数据,即为幻读。三、不可重复度:    A在用num为1,B将num改为...

2018-07-09 22:43:40 2707

原创 python 单链表操作(2)--链表相加(有进位和无进位)

继续上一篇链表算法实现单链表相加,分为有进位和无进位。import random#定义链表节点'''!!!!!!!本人所有的单链表操作均有一个head节点,即link本身,link.value为None,link.next指向‘所说的’第一个节点!!!!!!!'''以下新增内容用红色字体标出class LinkNode(): value = None next = None...

2018-07-09 22:27:56 1166

原创 python 单链表操作(1)

自定义单链表并输出:import random#定义链表节点class LinkNode(): value = None next = None#链表方法类class Link(object): #get一个新的链表,size为几个节点,默认生成链表的值在 0--9之间,可自定义 def get_link(self,size): if s...

2018-07-09 21:56:41 209

原创 mysql的主从配置原理

    采用MySQL的主从配置,可以实现数据库层面的负载均衡,    主从配置,实现读写分离:    分别架设主服务器、从服务器,均安装MySQL    主服务器、从服务器分别对应写/读(读/写)操作原理:    主从服务器利用主服务器产生的二进制文件,实现数据同步。二进制日志文件由主服务器产生,从服务器的一个IO线程与主服务器保持通信,监控其二进制文件的变化,并将变化复制到自己的中继日志中,然...

2018-07-09 21:28:31 169

空空如也

空空如也

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

TA关注的人

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