- 博客(5)
- 资源 (2)
- 收藏
- 关注
原创 Mysql 高级特性与调优学习整理
WAL 技术Write Ahead Log先写日志,再写磁盘crash-safe有了redo log,InnoDB就可以保证即使数据库发生异常重启,之前提交的记录都不会丢失bin log vs redo logredo log是InnoDB引擎特有的;binlog是MySQL的Server层实现的,所有引擎都可以使用。redo log是物理日志,记录的是“在某个数据页上做了什么修改”;binlog是逻辑日志,记录的是这个语句的原始逻辑,比如“给ID=2这一行的c字段加1 ”。redo lo
2021-04-09 09:25:23 108
原创 解密HTTP 协议
HTTP 协议无论说用 webservice 还是做 rest 框架,都离不开 http 协议。什么是协议:双方都遵守的标准。HTTP 是一种不保存状态,即无状态(stateless)协议HTTP 协议工作流程GETPOST请求请求行头信息主体信息(可以没有):需要content-type进行描述请求行请求方法:GET,POST,HEAD(一般仅需要状态码),PUT,DELETE,TRACE(获取服务器获取到的URL),OPTIONS(探测支持的方法)请求路径:URL
2021-04-09 09:19:57 403
原创 Django 缓存框架浅析 + 内存分析
Django 缓存框架浅析 + 内存分析动态网站存在一个基本权衡是——它们是动态的。每次用户请求一个页面,web 服务器需要提供各种各样的计算——从数据库查询到模板渲染再到业务逻辑——最后生成页面呈现给用户。从处理开销的角度来看,这比读取文件的开销要高得多。缓存是将一些需要经过大量计算的结果存储在一个指定区域中,避免再次访问时的重复计算(处理好缓存的失效时机,否则会破坏数据的实时性)。通俗的讲,缓存就是用空间换取时间的一种策略方案。使用缓存(这里主要指后端缓存)有以下主要优势:提升接口响应速度
2021-04-09 09:08:34 472
原创 初探 Django 事务
初探 Django 事务数据库事务(简称:事务)是数据库管理系统(DBMS)执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。试想下面这个例子:当A需要在商店中购买商品,需花费100元,A通过手机扫码完成支付,涉及到金额的变化如下:该人账户减少100元商店账户增加100元如果这两步不能同时在系统上完成,则有可能出现两种异常情况:该人账户余额没有减少,商店账户增加100元该人账户减少100元,商店账户没有增加。无论是哪一种,对于金融行业来说,都是无法容忍的。如果支付宝频繁出现此
2021-04-09 09:05:37 206
原创 【已解决】Django 去重分组时去重无效
前些日子在开发业务的一个模块时,有一个需求:需要根据key去重后group by 部门名称进行总数的计算,首次代码是这么编写的,因为只有当天的数据,所以接口验证没什么问题:objs = TestPlanOverdueDetail.objects.filter( create_time__lte=datetime.datetime.strptime(get_work_month_date(month)[1], "%Y-%m-%d"), create_time__gte=datetime.da
2021-04-09 08:57:26 820
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人