精选分类

文章列表

1.2k 1 分钟

# 雪崩 雪崩就是指缓存中大批量热点数据过期后系统涌入大量查询请求,因为大部分数据在 Redis 层已经失效,请求渗透到 DB ,引起数据库压力造成查询堵塞甚至 宕机 。 举个简单的例子 一个电商平台,如果首页所有的 Key 失效时间都是 12 小时,零点有个限时秒杀活动大量用户杀来,假设当时 6000/s 个请求,本来缓存可以顶住 5000/s 个请求,但是当时所有缓存的 Key 都失效了,这时每秒 6000 个请求全部落在数据库,犹如洪水决堤,造成宕机。 解决方案 不设置过期时间 (不建议) 设置不同的过期时间,避免同一时间大量 key...
6.1k 6 分钟

# 概述 在生活中真正具有广泛性、高效性、使用方便性的支付方式还得是扫码支付,扫码的优点在于推广成本低,上至钓鱼台国宾馆,下至发廊地摊都能用,打印出来就完事了,而相比其他支付方式,现金的找零及假钞问题,信用卡的办理门槛、pos 机的沉没成本,所以基于二维码的扫码支付的确是非常符合国情的。 # Python3 + Django2.2 + Vue 实现微信扫码支付 # Wechat 首先注册微信公众平台 https://mp.weixin.qq.com 获得开发者 id 和秘钥 (appid &...
3.4k 3 分钟

# 概述 PayPal 是倍受全球亿万用户追捧的国际贸易支付工具 是全球商户和消费者最受欢迎的电子支付方式之一,在跨境交易中有着超过 90% 的卖家和超过 85% 的买家认可并正在使用 PayPal 电子支付业务。当然,PayPal 国际业务体量如此惊人,肯定不是毫无原因的 PayPal 支付的优势就是其业务网络遍布全球。目前 PayPal 的庞大网络覆盖了全球 200 多个国家,可提供 20 多种语言服务,并接受 100 多种货币付款和 56 种货币提现。同时,还允许在账户中持有 25 种货币余额。换句话说,只要付款人拥有一个 PayPal 账户,他就拥有了在 200...
6.6k 6 分钟

# 概述 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议. WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许 服务端主动 向 客户端推送数据 。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 # 特点 建立在 TCP 协议之上,服务器端的实现比较容易。 与 HTTP 协议有着良好的兼容性。默认端口也是 80 和 443,并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP...
3.2k 3 分钟

# 概述 ECharts ,一个使用 JavaScript 实现的 开源可视化库 ,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari 等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。 # 在 Vue 中使用 ECharts 安装 npm install echarts --save main.js import echarts from "echarts";Vue.prototype.$echarts = echarts; 注意...
1.5k 1 分钟

# 概述 RBAC 是基于角色的访问控制(Role-Based Access Control ) 在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。这样管理都是层级相互依赖的,权限赋予给角色,而把角色又赋予用户,这样的权限设计很清楚,管理起来很方便。 # 简易表设计 from django.contrib.auth.models import AbstractUserfrom django.db import modelsclass User(AbstractUser): username =...
437 1 分钟

# 仓库 git init # 初始化git clone url # 下载一个项目# 查看信息 git status # 查看文件状态# 增加 / 删除文件 git add 文件名 # 添加指定文件到暂存区git add 文件名 # 添加指定目录到暂存区git add . # 添加当前目录的所有文件到暂存区# 代码提交 git commit -m '备注' # 提交暂存区到仓库区git commit 文件名 ... -m '备注' # 提交暂存区的指定文件到仓库区git push origin 分支名 #...
1.4k 1 分钟

# 引用计数 Python垃圾回收 主要以 引用计数 为主, 分代回收 为辅。在 Python 中每一个对象的核心就是一个结构体 PyObject ,它的内部有一个 引用计数器(ob_refcnt) 。程序在运行的过程中会实时的更新 ob_refcnt 的值,来反映引用当前对象的名称数量。当某对象的引用计数值为 0 , 那么它的内存就会被立即释放掉。 以下情况是导致引用计数加一的情况: 对象被创建,例如 a=2 对象被引用,b=a 对象被作为参数,传入到一个函数中 对象作为一个元素,存储在容器中 下面的情况则会导致引用计数减一: 对象别名被显示销毁...
307 1 分钟

# Docker Desktop 使用 Mysql 拉取镜像 docker pull mysql 启动镜像,第一次启动最少需要指定 MYSQL_ROOT_PASSWORD docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=000 -d mysql 运行 Mysql docker exec -it mysql mysql -uroot -p000 # Docker Desktop 使用 Redis 拉取镜像 docker pull redis2. 启动镜像 docker run -it -p 6380:6379...
4.6k 4 分钟

# Django Django 是一个 Web框架 ,框架的作用在于处理 request 和 reponse ,其他的不是框架所关心的内容。 所以如何部署 Django 不是 Django 所需要关心的。 # 什么是 WSGI WSGI 是一种 python 专用 的 web 协议 和 http 类似 WSGI 实质: WSGI 是一种描述 web 服务器(如 nginx , uWSGI web服务器 )如何与 web框架 (如用 Django 、 Flask框架 写的程序)通信的规范、协议 WSGI 定义了使用 python 编写的 web app(django) 与 web...