- 博客(20)
- 收藏
- 关注
原创 redis知识点汇总
知识点如下Redis 持久化机制缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题热点数据和冷数据是什么Memcache与Redis的区别都有哪些?单线程的redis为什么这么快redis的数据类型,以及每种数据类型的使用场景,Redis 内部结构redis的过期策略以及内存淘汰机制Redis 为什么是单线程的,优点如何解决redis的并发竞争key问题Redis 集群方案应该怎么做?都有哪些方案?有没有尝试进行多机redis 的部署?如何保证数据一致的?对于大量的请求怎么样处
2020-12-10 14:01:36
198
原创 k8s
一、k8s简介k8s本质上就是一组服务器集群,k8s可以在集群的各个节点上运行特定的docker容器。k8s提供了容器编排、资源调度、弹性伸缩、部署管理、服务发现等一系列功能。k8s目标是让部署容器化应用简单高效。二、k8s功能自我修复弹性伸缩:根据服务器的并发情况增加或者缩减容器数量自动部署:yml文件回滚:可以很快速的恢复到上个版本服务发现和负载均衡机密和配置共享管理存储编排批处理三、k8s集群分为两类节点master node(主节点)组件(程序):apiser
2020-12-03 16:16:29
495
原创 MySql
索引优势:可以提高数据的检索效率,降低数据库的IO成本。通过索引列队数据进行排序,降低数据排序的成本,降低了cpu的消耗。 被索引的列会自动排序。 如果按照索引列的顺序排序,对应order by语句来说,效率就会提高很多 where 索引列,在存储引擎层处理 覆盖索引,不需要回表查询劣势:索引会占据磁盘空间索引虽然会提高查询效率,但是会降低更新表的效率。比如每次对表进行读写,MySQL不仅要保存数据,还有保存或者更新对应的索引文件单列索引普通索引:MySQL中基本索引类型,没有什
2020-12-03 11:47:19
115
原创 JWT - json-web-token
1.三大组成1.header:字典格式{'alg':'HS256', 'typ':'JWT'}#alg代表要使用的 算法#typ表明该token的类别 - 此处必须为 大写的 JWT该部分数据需要转成json串并用base64 加密2.payload格式为字典-此部分分为公有声明和私有声明公共声明:JWT提供了内置关键字用于描述常见的问题此部分均为可选项,用户根据自己需求 按需添加key,常见公共声明如下:{'exp':xxx, # Expiration Time 此token的过期时
2020-12-03 11:04:03
230
原创 工作中常用的一些python库
工作中常用的一些python库jsonschema : 在后端开发中,对入参校验jsonopenpyxl :对Excel表格进行操作的paramiko : 可以实现远程命令执行,文件传输,中间SSH代理等功能ipaddress : 对ip地址进行校验smtplib : 发邮件time :时间datetimerandom : 随机数ossysmathlibvirt : 操作虚拟机jwt : 加密解密requests :发请求PyYAML : Python 版本的 YAML 解析
2020-12-02 17:33:25
101
原创 linux查看公网ip的方法
ifconfig命令Linux查看IP地址的命令–ifconfigifconfig命令用于查看和更改网络接口的地址和参数$ifconfig -alo0: flags=849 mtu 8232inet 127.0.0.1 netmask ff000000hme0: flags=863 mtu 1500inet 211.101.149.11 netmask ffffff00 broadcast 211.101.149.255ether 8:0:20:a7:4d:21系统会显示网络接口的名称,接
2020-12-01 21:54:15
3111
原创 2020-11-27
selenium1.Selenium简介Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器。2.支持多种操作系统如Windows、Linux、IOS、Android等。3.安装Seleniumpip install Selenium4.安装浏览器驱动Selenium3.x调用浏览器必须有一个webdriver驱动文件Chrome驱动文件下载:点击下载chromedriv
2020-11-27 16:24:48
139
原创 LeetCode题目1——两数之和
原题目链接个人见解给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465
2020-11-25 17:37:46
76
原创 2020-11-24
redis为什么快redis是单线程的,为什么还快?1.redis是基于内存的,内存的读写速度非常快;2.redis是单线程的,省去了很多上下文切换线程的时间;3.redis使用多路复用技术,可以处理并发的连接;redis持久化一种是RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(通俗讲是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化)。将服务器包含的所有数据库数据以二进制文件的形式保存到硬盘里面另一种是AOF 持久化记录服务器执行的所有写操作命令,并在服务器
2020-11-25 16:22:54
57
原创 celery
Celery1 定义Celery 是一个简单、灵活且可靠的,处理大量消息的分布式系统它是一个专注于实时处理的任务队列,同时也支持任务调度中文官网:http://docs.jinkan.org/docs/celery/在线安装 sudo pip3 install -U Celery离线安装tar xvfz celery-0.0.0.tar.gzcd celery-0.0.0python3 setup.py buildpython3 setup.py install名词解释:brok
2020-10-27 20:43:37
310
1
原创 python的内存管理
1.引用计数每个对象记录被对象绑定的数量,当为0时被销毁缺点:列表循环引用:两个列表即使都是垃圾也不会被销毁,因为引用计数为12.标记清除扫描全部内存,标记没用的数缺点:全盘扫描消耗资源过大3.分代回收(年轻代,中年代,老年代)新创建的对象,会在年轻代分配空间本带空间存满后,进行升代(标记清除)继续在本空间开头存储数据老年代被清除的几率不是很高。4.价值尽量少产生垃圾stro01 = ''for i in range(10): #str01 = str01 + str(i)
2020-08-21 16:28:15
131
原创 关系型数据库和非关系型数据库的区别
1.数据存储方式不同关系型数据库天然就是表格式的,因此存储在数据表的行和列中,数据表可以彼此关联协作存储,提取数据比较方便。非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。2.扩展方式不同SQL和NoSQL数据库最大的差别可能是在扩展方式上,要支持日益增长的需求当然要扩展。要支持更多并发量,SQL数据库是纵向扩展,也就是说提高处理能力,使用速度更快速的计算机,这样处理相同的数据集就更快了。因为数据存储在关系表中,操作的性能瓶颈可能涉及很多个表,这都需要通过提高计算机性能来客服。虽然S
2020-08-19 16:38:22
469
原创 python面试题总结
1.http是什么,tcp/udp区别(比较常见,必问)我的另一个博客里的第一个有详细写点击进入2.面向对象的相关知识点三大特征 :封装、继承、多态封装–将一些功能或者数据组合起来对外使用,提高代码的复用性继承–子类继承父类,父类由子类抽象而来,子类有不同的行为(重写,体现了多态)多态–父类的同一种行为,在不同的子类有不同的表现六大原则:迪米特,里式替换,开闭,单一职责,依赖导致,聚合复用3.python进程、线程相关1.两者都是多任务编程,都能使用计算机的多核资源2.进程的创建删除比线
2020-08-14 14:39:56
167
原创 python的两个‘池‘
1.小整数池目的:节省内存,提高执行效率Python实现int的时候有个小整数池。为了避免因创建相同的值而重复申请内存空间所带来的效率问题, Python解释器会在启动时创建出小整数池,范围是[-5,256],该范围内的小整数对象是全局解释器范围内被重复使用,永远不会被垃圾回收机制回收。2.进程池通常进程池的数量跟cpu内核的数量保持一致。减少了频繁创建进程给计算机带来的压力。并没有提高程序的执行效率。提高代码的复用性。Pool可以提供指定数量的进程供用户调用,当有新的请求提交到pool中时,如果
2020-08-12 15:10:07
93
原创 Flink是什么
1.Flink是什么Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,提供支持流处理和批处理两种类型应用的功能。2.前身Apache Flink 的前身是柏林理工大学一个研究性项目, 在 2014 被 Apache 孵化器所接受,然后迅速地成为了Apache Software Foundation的顶级项目之一。3.特点现有的开源计算方案,会把流处理和批处理作为两种不同的应用类型:流处理一般需要支持低延迟、Exactly-once保证,而批处理需要支持高吞吐、高效处理
2020-08-11 11:04:09
4230
原创 oneday
1.TCP/UDP/HTTP协议区别?1.在TCP/IP模型中,HTTP是属于应用层,TCP/UDP属于传输层2.2.深拷贝浅拷贝浅拷贝:复制过程中,只复制一层变量,不会复制深层变量绑定的对象的复制过程。深拷贝:复制整个依懒的变量。深拷贝:因为拷贝所有数据,所以占用内存过多。一方变化,绝对不影响另外一方浅拷贝:只复制一层数据,当修改第二层数据时,会影响另一方占用内存少3.简述一个前端请求的处理流程,在uwsgi/nginx/django之间的处理流程1.首先客户端向服务器发送请求,请求
2020-08-10 15:05:54
429
原创 linux的一些小基础
1.linux文件系统/bin目录:存放二进制文件包含了引导启动所需要的命令或普通用户可能用的命令/sbin目录:存放二进制文件其中大部分文件多是系统管理员使用的基本系统程序,一般不给普通用户用/etc目录:存放各种配置文件包含用户信息文件/etc/passwd,系统初始化文件/etc/rc/root目录:超级用户的目录/lib目录:跟文件系统上的程序所需要的共享库/dev目录:存放设备文件,即驱动程序用户通过这些文件访问外部设备,通过/dev/mouse来访问鼠标的输入/usr文件系
2020-08-07 16:37:39
92
原创 python基础中的基础知识点
本人菜鸟,如果写的有问题,望指正~~~1.计算机执行过程计算机只能识别机器码(010101),无法识别源代码由源代码变成机器码的过程分为两类:编译和解释编译:在程序运行之前,通过编译器将源代码变成机器码,例如:c语言。优点:开发速度快。缺点:开发效率低,不能跨平台解释:在程序运行之时,解释器对程序逐行翻译,饭后执行。优点:开发效率高,可以跨平台。缺点:运行速度慢2.python是解释型语言为了提高运行速度,使用了一种编译的方法。编译之后得到了pyc文件,存储了字节码(特定于python的变现形
2020-08-06 16:42:16
143
原创 python+Django知识点
技术固然重要,但是我认为更重要的是要从宏观上看待每个事物,将技术与技术串联起起来,才能走的更远。—一个小菜鸟的理解1.使用lambda对list进行排序list01 = [1,0,3,9,5]res = sorted(list01,key=lambda x:x)[0,1,3,5,9]2.列表嵌套元组进行排序foo = [('zs',19),('ls',19),('ww',20)]res = sorted(foo,key=lambda x:x[1],reverse=True) #从大到小
2020-08-05 19:08:17
523
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人