摘要: 一 什么是Websocket WebSocket是一种在单个TCP连接上进行全双工通信的协议 WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双 阅读全文
posted @ 2021-05-16 18:54 silencio。 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 一 什么是 ElasticSearch Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作 阅读全文
posted @ 2021-05-16 18:53 silencio。 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 一 什么是发布订阅 发布订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都将得到通知 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 Redis 客户端可以订阅任意数量的频道。 下 阅读全文
posted @ 2021-05-16 18:52 silencio。 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 1 什么是负载均衡? 当一台服务器的性能达到极限时,我们可以使用服务器集群来提高网站的整体性能。那么,在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据每台服务器的负载情况将请求分配给某一台后端服务器去处理。那么在这个过程中,调度者如何合理分配任务,保证所 阅读全文
posted @ 2021-05-16 18:50 silencio。 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 一基于redis 利用redis的乐观锁,实现秒杀系统的数据同步(基于watch实现), 用户一: import redis conn = redis.Redis(host='127.0.0.1',port=6379) # conn.set('count',1000) with conn.pipel 阅读全文
posted @ 2021-05-16 18:48 silencio。 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 在django1.4以后,存在两个概念 naive time 与 active time。 简单点讲,naive time就是不带时区的时间,Active time就是带时区的时间。 举例来说,使用datetime.datetime.utcnow()、datetime.datetime.now()输 阅读全文
posted @ 2021-05-16 18:46 silencio。 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 一 集群与分布式的区别 小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群。为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师也忙不过来了,又请了个配 阅读全文
posted @ 2021-05-16 18:44 silencio。 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 1 概念 A 和 B 要把他们的通信内容加密, 如果A/B使用相同的加密解密key,那这就是 对称加密。 对称加密最大的问题就是A和B之间的加密/解密key必须是唯一的。也就是如果A和C 要加密通信,同时还不想让C知道A/B之间的通信内容。那么A/C之间的加密/解密用的key就不能和A/B之间的一样 阅读全文
posted @ 2021-05-16 18:43 silencio。 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 一 CSRF是什么 CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点 阅读全文
posted @ 2021-05-16 18:40 silencio。 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 客户端 项目目录结构 client目录 tcpClient.py 》客户端连接 conf目录 setting.py:存放配置信息 core目录 admin.py:管理员视图相关功能函数 src.py :主视图 user.py :用户视图相关功能函数 download_movie目录 存放下载完的电影 阅读全文
posted @ 2021-05-16 18:34 silencio。 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 发展史 1、很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。这段时间很嗨皮 2、但是随着交互式Web应 阅读全文
posted @ 2021-05-16 18:33 silencio。 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 一 前言 1 我在实例化一个user对象的时候,可以user=User(name='lqz',password='123') 2 也可以 user=User() user['name']='lqz' user['password']='123'3 也可以 user=User() user.name= 阅读全文
posted @ 2021-05-16 18:31 silencio。 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 原生操作数据库模块 pymysql pymsql是Python中操作MySQL的模块(其使用方法和MySQLdb几乎相同,在python3中,MySQLdb这个库已经不能继续使用了) 下载安装 pip3 install pymysql another way:用集成开发环境pycharm安装模块: 阅读全文
posted @ 2021-05-16 18:30 silencio。 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 工欲善其事必先利其器,Python开发利器Pycharm常用快捷键以及配置如下,相信有了这些快捷键,你的开发会事半功倍 一 常用快捷键 编辑类:Ctrl + D 复制选定的区域或行Ctrl + Y 删除选定的行Ctrl + Alt + L 代码格式化Ctrl + Alt + O 优化导入(去掉用不到 阅读全文
posted @ 2021-05-16 18:28 silencio。 阅读(314) 评论(0) 推荐(1) 编辑
摘要: 一 CMDB简介 1.1 什么是CMDB? CMDB(资产管理系统)是所有运维工具的数据基础 1.2 CMDB包含的功能 用户管理,记录测试,开发,运维人员的用户表 业务线管理,需要记录业务的详情 项目管理,指定此项目用属于哪条业务线,以及项目详情 应用管理,指定此应用的开发人员,属于哪个项目,和代 阅读全文
posted @ 2021-05-16 18:26 silencio。 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 1 介绍 我们写了一个网站,但是又苦于没有公网ip地址,就可以使用内网穿透,来让局域网内的机器上的,可以被外网访问到 这种软件有很多: 如开源的:frp、ngrok 商业的软件:花生壳(转发http需要收费6元)、神卓互联(收费) 基于Python3 我们自己写一个 2 花生壳演示 官网下载客户端: 阅读全文
posted @ 2021-05-16 18:24 silencio。 阅读(245) 评论(0) 推荐(0) 编辑
摘要: paramiko ########################## 基于用户名密码连接: import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_ 阅读全文
posted @ 2021-05-16 18:20 silencio。 阅读(82) 评论(0) 推荐(0) 编辑
摘要: Supervisor 的使用 一 Supervisor介绍 Supervisor (http://supervisord.org) 是一个用 [Python] 写的进程管理工具,可以很方便的用来启动、重启、关闭进程(不仅仅是 Python 进程)。除了对单个进程的控制,还可以同时启动、关闭多个进程, 阅读全文
posted @ 2021-05-16 18:17 silencio。 阅读(600) 评论(0) 推荐(0) 编辑
摘要: 一 前言 谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制。 哨兵(Sentinel):可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能。 复制(Replication):则是负责让一个Redis服务器可以配备多个备份的服务器。 阅读全文
posted @ 2021-05-16 18:15 silencio。 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 一 前言 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议 本文由以下三个部分组成 1、讲解缓存更新 阅读全文
posted @ 2021-05-16 18:13 silencio。 阅读(113) 评论(0) 推荐(0) 编辑