05 2019 档案
摘要:python操作redis用法详解 转载地址 1、redis连接 安装redis 连接redis,加上decode_responses=True,写入的键值对中的value为str类型,不加这个参数写入的则为字节类型。 2、连接池 连接池 3、redis基本命令 String set(name, v
阅读全文
摘要:大型网站架构的发展演变过程 原文地址 什么是大型网站 如何定义一个网站是不是大型网站,一般我们会从两个纬度去考衡,访问量以及数据量,二者缺一不可。 我们以javaweb为例,来搭建一个简单的电商系统,从这个系统中来看系统的演变历史;要注意的是,接下来的演示模型,关注的是数据量、访问量提升,网站结构发
阅读全文
摘要:python format格式化函数用法 原文 Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。 基本语法是通过 {} 和 : 来代替以前的 % 。 format 函数可以接受不限个参数,位置可以不按顺序。 1.使用位置参数 2.使用关键
阅读全文
摘要:python 中if __name__ = '__main__' 的作用 前言 首先我们要知道在python里面万物皆对象,模块也是对象,并且所有的模块都有一个内置属性 __name__。 一个模块的 __name__ 的值取决于如何应用模块。 如果 import 一个模块(调用),那么模块__na
阅读全文
摘要:异步分布式队列Celery 转载地址 Celery 是什么? 官网 Celery 是一个由 Python 编写的简单、灵活、可靠的用来处理大量信息的分布式系统,它同时提供操作和维护分布式系统所需的工具,实现的通讯协议也可以使用ruby,php,javascript等调用。 Celery 专注于实时任
阅读全文
摘要:完整阿里云Redis开发规范 原文地址 本文主要介绍在使用阿里云Redis的开发规范,从下面几个方面进行说明。 键值设计 键值设计 命令使用 命令使用 客户端使用 客户端使用 相关工具 删除bigkey 相关工具 通过本文的介绍可以减少使用Redis过程带来的问题。 一、键值设计 1、key名设计
阅读全文
摘要:Redis集群 Redis的复制(Master/Slave) 介绍: 也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Salve已读为主。 作用: 主从备份:防止主机宕机 读写分离:分担master的任务 任务分离:如从服
阅读全文
摘要:Redis的频道发布与消息订阅 官网介绍 进程间的一种通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 订阅/发布消息图 下图展示了频道channel1,以及订阅这个频道的三个客户端-client2、client5、client1 当有新消息通过PUBLISH命令发送给频道channe
阅读全文
摘要:Redis事务 基础 事务中的几种情况 思考 张三正在买票 Ticket-1,money-100 而票只有一张,如果在我MULTI之后、EXEC之前,票被别人买走了--即ticket变成0 我该如何观察这种情况,并不再提交。 悲观的想法: 世界充满危险,肯定有人和我抢,给ticket上锁,只有一个人
阅读全文
摘要:Redis持久化rdb&aof 前言 Redis持久化之RDB(Redis DataBase) 介绍 持久化过程 补充: 参数 如何触发RDB快照 如何恢复 如何在动态中停止 优缺点 小总结: Redis持久化之AOF(Append Only File) 补充: 参数 启动/修复/恢复 Rewrit
阅读全文
摘要:Redis数据结构&命令手册 Redis数据结构 Redis可以存储键与5种不同数据结构之间的映射,这五种数据结构类型分别为STRING(字符串)、LIST(列表)、SET(集合)、HASH(散列)、ZSET(有序集合)。 STRING字符串 LIST列表 SET集合 HASH散列 Order-se
阅读全文
摘要:Centos7.2下安装redis&通用键值命令 Centos7.2下安装redis 官方网站:https://redis.io/ 1.进入/usr/local/src/目录 2.下载最新版或者最新stable版 3.解压并进入目录 4.不用配置,直接make 注:如果是32位机,make 32bi
阅读全文
摘要:Python爬虫之设置selenium webdriver等待 ajax技术出现使异步加载方式呈现数据的网站越来越多,当浏览器在加载页面时,页面上的元素可能并不是同时被加载完成,这给定位元素的定位增加了困难。 如果因为在加载某个元素时延迟而造成ElementNotVisibleException(不
阅读全文
摘要:IIC通信详解 IIC概述 IIC:两线式串行总线,它是由数据线SDA和时钟线SCL构成的串行总线,可发送和接收数据。 在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbs以上。 时钟线SCL:在通信过程起到控制作用。 数据线SDA:用来一位一位的传送数据。 IIC
阅读全文
摘要:Python爬虫之selenium高级功能 原文地址 表单操作 元素拖拽 页面切换 弹窗处理 表单操作 表单里面会有文本框、密码框、下拉框、登陆框等。 这些涉及与页面的交互,比如输入、删除、点击等。 前提是找到页面中的元素。 例如下面有一个表单输入框: 获取这个元素的方法: 注意:使用 xpath
阅读全文
摘要:Python爬虫之urllib.parse 转载地址 Python 中的 urllib.parse 模块提供了很多解析和组建 URL 的函数。 解析url 解析url( urlparse() ) urlparse() 函数可以将 URL 解析成 ParseResult 对象。对象中包含了六个元素,分
阅读全文
摘要:Go http编程 http服务端编程 1.简单的http服务器模板 package main import ( "fmt" "net/http" ) func HelloHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w,
阅读全文
摘要:python实现进度条 简单演示 结果: 实现简单效果 结果: tqdm库 结果:
阅读全文
摘要:BloomFilter&python支持 BloomFilter 布隆过滤器是一种概率空间高效的数据结构。它与hashmap非常相似,用于检索一个元素是否在一个集合中。它在检索元素是否存在时,能很好地取舍空间使用率与误报比例。即Bloom Filter是会误判的,它只会把不存在于集合中的元素误判成存
阅读全文
摘要:python WSGI框架详解 WSGI 几个关于WSGI相关的概念 PEP 0333 – Python Web Server Gateway Interface 是一种 web server or gateway 和 python web application or framework 之间简单
阅读全文
摘要:python3中编码与解码的问题 ASCII 、Unicode、UTF-8 ASCII 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表
阅读全文
摘要:八大排序算法的Python实现 原文地址 插入排序 代码实现: 希尔排序 代码实现: 冒泡排序 代码实现: 快速排序 代码实现: 直接选择排序 代码实现: 堆排序 代码实现: 归并排序 代码实现: 基数排序 代码实现:
阅读全文
摘要:python Rabbitmq 实现最简单的队列通信 send端 #!/usr/bin/env python import pika credentials = pika.PlainCredentials("用户名","密码") connection = pika.BlockingConnectio
阅读全文
摘要:Python性能分析工具Profile 使用Profile 测试示例: 输出结果: 命令行 如果我们不想在程序中调用profile库使用,可以在命令行使用命令。 运行命令查看性能分析结果 python -m cProfile test.py 将性能分析结果保存到result文件 python -m
阅读全文
摘要:python logging模块使用 logging模块 日志记录的重要性 logging的工作框图 Logger:即 Logger Main Class,是我们进行日志记录时创建的对象,我们可以调用它的方法传入日志模板和信息,来生成一条条日志记录,称作 Log Record。 Log Record
阅读全文
摘要:消息队列RabbitMQ 消息队列 消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。 消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到
阅读全文
摘要:Linux下RabbitMQ安装、运行与管理 安装erlang 安装参考官网 RabbitMQ的安装需要Erlang的基础环境,必须按照RabbitMQ Erlang版本要求进行安装。 1.依赖环境安装 2.获取安装文件 3.解压erlang安装包 4. cd erlang目录 5.编译安装erla
阅读全文
摘要:Kali Linux安装及中文指南 Kali Linux安装教程:https://blog.csdn.net/u012318074/article/details/71601382 Kali Linux中文指南:https://pan.baidu.com/s/1icw7EmzRMv11sb7MCX_
阅读全文
摘要:python 上下文管理器 python 上下文管理器 with的使用 对于上下文管理器的使用,最常见的是使用with语句,with语句可构建资源的分配与释放的语法糖。 因为with语句就是为支持上下文管理器而存在的,使用上下文管理协议的方法包裹一个代码块(with语句体)的执行,并为try...e
阅读全文
摘要:python multiprocessing模块 原文地址 multiprocessing multiprocessing支持子进程、通信和共享数据、执行不同形式的同步,提供了Process、Queue、Pipe、Lock等组件。 创建进程的类:Process([group[, target[, n
阅读全文
摘要:python email模块 官方文档 email模块 电子邮件包是一个用于管理电子邮件消息的库。它的特殊设计不用于向SMTP (RFC 2821)、NNTP或其他服务器发送任何电子邮件消息;这些是模块的函数,如smtplib和nntplib。电子邮件包尝试尽可能符合RFC,支持RFC 5233和R
阅读全文