![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
web后端
文章平均质量分 79
麦干
厚积薄发
展开
-
缓存使用中Redis,Memcached的共性和差异分析
在各大互联网项目的业务场景中,Redis和Memcached都已经是必不可少的高并发场景缓存应用解决方案,本文将从为什么要用redis,memcached和什么时候使用Redis,什么时候使用Memcached两个角度来分析。 一.为什么要用Redis,Memcached。 随着互联网产品技术的不断纵深发展,数据存储方案主要分为了两个方向,持久存储和临时存储转载 2016-12-11 09:46:22 · 257 阅读 · 0 评论 -
实现Python中range函数
def my_xrange(start, stop=None, step=None): result=[] if stop: if start step=step if step else 1 while True: result.append(start)原创 2017-02-19 10:42:41 · 1319 阅读 · 0 评论 -
使用Apache的ab工具进行压力测试
使用Apache的ab工具进行压力测试Apache附带的ab工具(本机使用的PHP环境是WAMP集成环境,ab工具位于D:\wamp\bin\apache\Apache2.2.21\bin)非常容易使用,ab可以直接在Web服务器本地发起测试请求,这至关重要,因为有些时候我们需要测试的仅仅是服务器的处理性能,并不想掺杂着网络传输时间的影响。ab进行一切测试的本质都是基于HTTP的,所以可以说ab对于转载 2017-10-13 15:56:58 · 186 阅读 · 0 评论 -
阻塞非阻塞与同步异步区别 发表于 2015-04-18 | 分类于 网络编程 | 在网络编程中,经常会提到同步/异步,阻塞/非阻塞的概念,记得一开始的时候我总是分不清它们之间有什么区别
阻塞非阻塞与同步异步区别 在网络编程中,经常会提到同步/异步,阻塞/非阻塞的概念,记得一开始的时候我总是分不清它们之间有什么区别,所以经常混淆。其实它们之间是有着一层包含与被包含的关系,其中同步包含了阻塞与非阻塞,而异步则是另一种情况。可以划分为三类: 同步阻塞同步非阻塞异步 同步阻塞 Linux上的IO默认情况下均为阻塞IO(aio系列除外),所有的套接字也默认为转载 2017-09-22 10:16:41 · 2082 阅读 · 0 评论 -
非阻塞TCP套接字的要点 发表于 2015-04-22 | 分类于 网络编程 | 套接字的默认状态是阻塞的。如果一个套接字不能立即完成相应的调用,那么该线程就会被投入睡眠,等待相应的操
非阻塞TCP套接字的要点 套接字的默认状态是阻塞的。如果一个套接字不能立即完成相应的调用,那么该线程就会被投入睡眠,等待相应的操作完成。阻塞一个套接字的操作可能是输入操作、输出操作、接受外来连接、发起外出连接这四种操作中的一种。如果把套接字改为非阻塞的话,这些操作就会变的不一样了。 输入操作,包括read、readv、recv、recvfrom和recvmsg这五个函数(aio系列转载 2017-09-22 10:14:40 · 485 阅读 · 0 评论 -
TCP的三次握手(建立连接)和四次挥手(关闭连接)
TCP的三次握手(建立连接)和四次挥手(关闭连接) 建立连接: 理解:窗口和滑动窗口 TCP的流量控制 TCP使用窗口机制进行流量控制 什么是窗口? 连接建立时,各端分配一块缓冲区用来存储接收的数据,并将缓冲区的尺寸发送给另一端 接收方发送的确认信息中包含了自己剩余的缓冲区尺寸 剩余缓冲区空间的数量叫做窗口 2. TCP的流控过程(滑动窗口) TCP(Trans转载 2017-09-22 10:12:38 · 377 阅读 · 0 评论 -
Supervisor后台进程管理工具
Supervisor后台进程管理工具 一、安装及配置 1、Python liunx自带有了不需要安装(没有的话需要安装) 2、easy_install是setuptools包里带的一个命令 wget--no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python转载 2017-09-25 16:50:15 · 369 阅读 · 0 评论 -
Mongodb学习笔记
Mongodb命令 use 数据库名:切换到该数据库,没有的话创建该库 show dbs:显示所有数据库 db:显示当前数据库 show collections:显示当前数据库下所有集合 db.createCollection(”):在当前数据库下创建集合 db.集合名.insert():往集合插入数据 db.集合名.drop():删除集合 db.dropDatabase():删除当前数据库 db.原创 2017-04-25 22:27:41 · 323 阅读 · 0 评论 -
MySQL学习笔记
Mysql 学习笔记Mysql 学习笔记 表操作 查询操作 索引 外键 Mysql 权限操作 其他操作 表操作 显示当前数据库下所有表:show tables 显示表的描述信息:desc 表名 显示创建表的SQL语句:show create table 表名 修改表名:alter table 表名 rename to 新表名 创建外键:alter table 表名 add foreign key (原创 2017-04-18 23:16:23 · 323 阅读 · 0 评论 -
阻塞非阻塞与同步异步的区别
阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。 1.同步与异步 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication) 所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。 换句话说,转载 2016-12-13 22:06:36 · 215 阅读 · 0 评论 -
在 Flask 中使用 Celery
在 Flask 中使用 Celery 后台运行任务的话题是有些复杂,因为围绕这个话题会让人产生困惑。为了简单起见,在以前我所有的例子中,我都是在线程中执行后台任务,但是我一直注意到更具有扩展性以及具备生产解决方案的任务队列像 Celery 应该可以替代线程中执行后台任务。 不断有读者问我关于 Celery 问题,以及怎样在 Flask 应用中使用它,因此今天我将会向你们展示两个例子,我希望转载 2016-12-11 11:07:11 · 5222 阅读 · 0 评论 -
分布式缓存
在前面的一些文章中,从实战的角度,讲解了有关memcached的应用、容灾、监控等等。但是缺乏对理论的讲解和原理性的剖析。本文将从理论的角度去介绍,让大家从宏观上对“分布式缓存、nosql”等技术有所了解,以便进一步学习和使用。在构建大规模的web应用时,缓存技术可以说是必备的,学习的必要性不言而喻。 分布式缓存概述 1.1 分布式缓存的特性 分布式缓存具有如下特性:转载 2016-12-11 10:29:12 · 402 阅读 · 0 评论 -
数字证书原理,公钥私钥加密原理
文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书。如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出! 1、基础知识 这部分内容主要解释一些概念和术语,最好是先理转载 2018-01-31 11:37:42 · 419 阅读 · 0 评论