- 博客(90)
- 收藏
- 关注
转载 centos按照nginx
1.进入临时文件夹里(随便一个都行)1cd/tmp/2.下载并安装nginx压缩包13.解压该压缩包1tar.gz4.创建目标文件夹1cd.23.35.(默认会安装在/usr/local/nginx)这里通过configure命令指定安装目录1/configure6.编译安装1makemakeinstall7.最后生成的文件夹具体如下。
2024-06-20 11:16:19 46
原创 mysql主从备份
create user 'slave'@'从库ip' identified by 'xxxxxxxx';grant replication slave on *.* to 'slave'@'从库ip';保存配置,重启mysql,systemctl restart mysqld,检查刷掌是否正常。3,创建提供给从库,用于同步数据的账号(是主库的账号,ip是从库ip)7,设置主服务器ip,同步账号密码,同步位置。# 减少记录日志的内容,只记录受影响的列。# 减少记录日志的内容,只记录受影响的列。
2024-06-16 22:01:41 453
原创 python爬虫常用的库
此外,还有其他一些常用的库,如`unirest for Python`、`hyper`、`PySocks`、`treq`、`aiohttp`等。
2024-02-20 13:59:25 2750 1
原创 大数据技术
1. 大数据技术生态体系2. hadoop目录结构bin: Hadoop的命令sbin: Hadoop的脚本etc: Hadoop的配置文件share: Hadoop的jar包
2023-03-23 22:52:05 153
转载 uwsgi的http、http-socket和socket的区别
uwsgi的http、http-socket和socket配置项_小白、瑶的博客-CSDN博客_http uwsgi
2022-02-14 08:56:40 1025
原创 kubernetes笔记
架构图 Pod控制器类型 ReplicationController & ReplicaSet & Deployment HPA(Horizontal Pod Autoscaler) StatefulSet DaemonSet Job CronJob
2022-01-07 22:59:35 1120
原创 高可用集群
Zookeeper集群为什么要是单数 - 冰冻开水 - 博客园 容错能力相同的情况下,单数更节省成本 脑裂的情况下单数能保证服务可用
2022-01-07 09:43:48 1351
原创 virtualenvwrapper操作小结
安装虚拟环境 pip install virtualenv 安装virtualenvwrapper pip install virtualenvwrapper # 直接安装virtualenvwrapper,会自动安装virtualenv 创建虚拟环境 mkvirtualenv venv 进入虚拟环境 workon venv 退出虚拟环境 deactive 列出所有虚拟环境 lsvirtualenv 进入虚..
2021-10-21 17:00:09 91
原创 JAVA笔记
java运行环境,切换版本(mac系统) $ /usr/libexec/java_home -V // 查询当前系统所有java版本及所在路径// 切换java版本// 打开~/.zshrc文件export JAVA_HOME=$(/usr/libexec/java_home) // 默认版本export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0_291) // 指定版本 IntellJ IDEA切换java版本 File-&g...
2021-07-24 11:39:59 111
原创 数据库与缓存一致性方案
在实践过程中,由于操作缓存与操作数据库不是原子性的,非常有可能出现执行失败,导致数据库与缓存不一致。或者在高并发的系统中,同时对同一条数据进行读写操作,在数据库层面并发的读写并不能保证先后顺序,也就是说后发出的读请求很可能先完成(读出脏数据),脏数据又入了缓存,缓存与数据库中的数据不一致出现了。我们从几个方案来探究如何保证数据库与缓存的一致性:1,先更新数据库,再更新缓存(1)这个方案的代价有时是比较高的。每次修改数据库的时候,都要将其对应的缓存一份。但对于某些系统写数据库场景比较多,读数据库场景比
2021-05-07 23:08:39 103
原创 常用的限流算法
一、介绍限流前我们先来介绍几种应对服务器高并发的方案:1,服务降级:在高并发的情况下,为了防止用户一直等待,使用服务降级方式(直接返回一个友好的提示给客户端)2,服务熔断:熔断机制的目的是为了在高并发的情况下保护服务,当高并发的情况下,如果流量达到一定阈值后,后面的请求全部拒绝访问,起到保护服务的作用。熔断其实也是降级方式的一种3,服务隔离:一般情况下,多个HTTP服务会共享一个线程池,假设其中一个HTTP服务访问的数据库响应非常慢,这将造成服务响应时间延迟增加,大多数线程阻塞等待数据响应返回,
2021-05-07 23:07:43 159
原创 go语言小结
1,编译到指定文件夹```shellgo build -mod=vendor -o ~/vhost/jadiduit/crontab/cashme_server_cron```
2020-12-11 14:15:13 125
原创 高性能Mysql
选取书中特别有代表性的点来讲:一:Mysql逻辑架构mysql的架构解析:当一个sql请求从客户端请求过来,先经过连接池,连接池如果有空闲的线程,则可以直接用,如果没有就新创建一个建立连接,如果是查询类的sql,会先检查是否命中缓存,有缓存则直接返回缓存结果给客户端,如果没有命中缓存,则经过解析器解析sql语法,会解析出关键字和非关键字,解析sql是否合法,不合法会直接报错终止线程,合法的话会进入优化器,优化器会为sql生成最优的执行计划,例如选择最合适的索引,生成执行计划后调用存储引.
2020-12-03 16:51:45 2474 1
原创 python实现多任务方式
什么是多任务?就是操作系统可以同时运行多个任务多任务的执行方式并发:交替执行,是假的多任务并行:同时执行,是真的多任务第一种多任务的实现方式:多线程python线程的两种写法(第一种会比较常用):第一种: def say(): print("我在说话")def sing(): print("我在唱歌") time.sleep(1)if __name__ == "__main__": t1 = threading.Thread(tar
2020-12-03 16:39:35 621
原创 缓存穿透和布隆算法
缓存穿透是指查询一条数据库和缓存都没有的一条数据,就会一直查询数据库,对数据库的访问压力就会增大,缓存穿透的解决方案,有以下两种方案:1、缓存空对象:代码维护简单,但是效果不好。2、布隆过滤器:代码维护复杂,效果很好缓存穿透的发生由低到高分三种情况:第一种情况,客户端请求id=-1的数据,此时数据库和缓存都没有数据,就会一直查询数据库,解决方案就是把id=-1的数据以NULL值缓存在redis中,就是上面的方案一第二种情况,客户端请求id=UUID的数据,此时如果采用方案一,就会...
2020-12-03 16:36:44 336 1
转载 python之什么是初始化,实例化,区别
---恢复内容开始---一.首先必须先了解类和实例的区别类是你定义的这个新类型,这个类型可以有很多个实例。比如 a = A(),A是个类,a就是A的一个实例,同样可以b=A(),b也是A的一个实例。初始化函数__init__在实例刚创建完成的时候调用,这里可以对这个实例的属性进行初始化classA:def__init__(self,num):...
2019-10-11 06:52:35 1370 2
转载 Python中*args和**kwargs的区别
(注:本文部分内容摘自互联网,由于作者水平有限,不足之处,还望留言指正。)中秋的夜,微凉,但却始终看不见月亮。 我想,它一定是害羞了,悄悄的躲到了乌云的后面。 嗯,就是这样,我真是太TM机智了。正文: 注:《python核心编程第2版》的11.6可变长度的参数---章节中有详细介绍。一、*args的使用方法...
2019-10-11 06:40:19 93
原创 uwsgi graceful reload
传统重启弊端:后台上线功能,以往的做法是当有对代码进行更改,需要将新代码提供给用户时,将uwsgi服务器重新启动以使更改生效,但这个重启过程会将所有uwsgi的worker进程强行kill掉,然后再重新启动这些worker,导致的结果:worker正在处理的请求无法正常处理完, 重启过程中uwsgi无法正常接收请求,请求报502的错误,特别是由于某些原因重启时间可能很久从stop uw...
2019-10-09 06:14:21 862 1
原创 浅谈文字编码和Unicode
ASCII编码:计算机的历史上,由于计算机是美国人发明的,英文是美国人的母语,英文无非就是一些大小写英文字母、数字和一些符号,比较少,只有127个字符,总所周知,1字节=8bit,用1个字节可以完全表示所有英文,所以最初美国人将这127个字符被编码到计算机中,这就出现了ASCII编码ASCII编码表:各国语言编码:由于ASCII编码只是为英文所用,其他国家的语言无法使用,所以其...
2019-10-09 06:10:25 1393
原创 网络问题排查
1. DNS问题pingwww.baidu.com,如果出现Temporary failure in name resolution的报错,说明DNS有问题 打开cmd->输入nslookup回车->输入www.baidu.com回车,如果出现DNS request timed out,timeout was 2 seconds的提示信息,则说明DNS确实出问题了,如果DNS解...
2019-09-26 14:52:04 487
原创 同步与异步 阻塞与非阻塞
同步与异步转自:https://www.jianshu.com/p/47ee57646369同步和异步关注的是消息通信机制.同步异步指的是调用者与被调用者两者之间的关系,而不是经常容易误解的多个被调用者之间的关系。同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不会返回,一旦调用返回,就得到返回值了。换句话说,就是由调用者主动等待这个调用结果.按照此定义,其...
2019-09-21 16:26:03 114
原创 python小结
django打印原生sqlfrom django.db import connectionsfor query in connections['ymoffers_setting'].queries: print(query)
2019-07-02 16:15:48 139 1
原创 docker
什么是DockerDocker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。和虚拟机的区别组成Docker是一个C/S结构,由镜像,容器和仓库组成容器是由镜像实例化而来,这和我们学习的面向对象的概念十分相似,我们可以把镜像看作类,........................
2019-06-03 00:24:53 199 1
转载 哈希
hash(散列、杂凑)函数,是将任意长度的数据映射到固定长度的域上。即将一段数据M进行杂糅,然后输出一段数据h。作为他的数据特征(指纹)即无论m多长,输出的h的长度是固定的。Hash表采用一个映射函数 f : key —> address 将关键字映射到该记录在表中的存储位置,从而在想要查找该记录时,可以直接根据关键字和映射关系计算出该记录在表中的存储位置.通常情...
2019-06-03 00:07:10 215
原创 ubuntu下使用nvm安装npm和node
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash nvm --version nvm install node nvm install 8.2.0 npm install -g npm@6.0.0 npm -v
2019-05-22 15:54:03 184
原创 时间复杂度
视频:https://www.iqiyi.com/v_19rr5wm3uw.html博文1:https://baijiahao.baidu.com/s?id=1609024533531824968&wfr=spider&for=pc博文2:https://blog.csdn.net/kang123488/article/details/79768205...
2019-05-07 07:35:24 104
原创 Vue双向绑定原理及vue-cli
Vue.js介绍1. Vue.js的MVVM框架数据的双向绑定当数据发生变化,ViewModel会观察到数据的这种变化,然后通知到视图做自动更新当用户操作视图,ViewModel会监听到视图的这种变化,然后通知到数据做改动2. 什么是Vue.jsVue.js是一个轻量级的MVVM框架中文官网:https://cn.vuejs.org/3. 对比React、Angular...
2019-05-05 08:28:11 383
原创 Websocket数据解析全过程
之前在协助建军做自动通知前端刷新和最近分片上传大文件的时候都使用到了websocket,对websocket做了一些调研,这篇文章就跟大家一起分享一下。websocket的使用场景:一般我们做聊天室这种需要保持通讯状态的功能,如果是用HTTP协议去做的话,需要客户端一直做长轮询去查询服务端是否由新消息,再显示在客户端上,这是因为HTTP本身是一个短连接,当我们客户端发起请求时,服务器...
2019-05-05 08:24:40 5326
原创 说说进程、线程和协程
window适合多线程,linux适合多进程,linux用多线程没有必要 内存(线程占优): 线程直接共享内存和变量 进程越多,内存消耗越大, 线程比进程消耗内存低,进程无法共享内存,浪费,但现代内存大 性能(进程占优): 进程通过增加CPU,就可以容易扩充性能 线程受限内存,且到达一定线程数后再增加cpu也无法提升性能 多进程可以尽量减少线程加锁/解锁的影响,极大提高...
2019-04-28 23:05:39 113
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人