- 博客(13)
- 收藏
- 关注
原创 线性结构之---列表
什么是列表?列表是一种简单强大的数据及结构,提供了丰富的操作接口一种数据项按照相对位置存放的数据集,被称为无序表例如:考试分数集合
2021-06-16 20:29:45
184
原创 docker和虚拟机的区别
Docker容器的启动速度是秒级,而传统虚拟机时分钟级Docker容器单机可启动上千个,而传统虚拟机仅为几十个1、虚拟机 基础设施(Infrastructure):它可以是你的个人电脑,数据中心的服务器,或者是云主机。 主操作系统(Host Operating System):你的个人电脑之上,运行的可能是MacOS,Windows或者某个Linux发行版。 虚拟机管理系统(Hypervisor):利用Hypervisor,可以在主操作系统之上运行多个不同的从操作系...
2021-06-15 21:22:34
504
2
原创 如何保证redis和数据库的数据一致?
当我们对数据进行修改的时候,到底是先删缓存还是先写数据库?1.如果先删缓存,在写数据库。高并发下,当A线程删除了缓存,还没有来得及写数据库,B线程来读取数据,发现缓存为空,就到DB中,那就会读取脏数据(旧值),读完之后,B还会把旧值写入到缓存中(此时A已经将新的值写入到缓存中),这样缓存中的值就会被脏数据覆盖解决方案:1.先操作缓存,但不要删除缓存。将缓存修改为一个特殊值(-999).客户端读取数据,发现是默认值,就休眠一会,再查redis。特殊值对业务有侵入,休眠时间可能会对此重复,影响性能 2.
2021-06-14 23:09:41
855
原创 redis持久化存储
RDB:Redis DataBase在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储优点:1.整个Redis数据库将只包含一个文件dump.rdb,方便持久化2.容灾性好,方便备份3.性能最大化,fork子进程来操作写操作,让主进程继续处理命令,所以IO最大化。使用单独子进程来进行持久化,主进程不会进行任何IO操作,保证redis的高性能4.相对于数据集大时,比AOF的启动效率更高缺点:
2021-06-13 20:46:49
148
原创 线性结构之---双端队列
什么是双端队列Deque?双端队列是一种有次序的数据集。跟队列相似,其两端可以称作“首”“尾”端,但Deque中数据项jikeyicongduishou
2021-06-10 13:50:55
197
原创 线性结构之----队列
什么是队列?队列是一种有次序的数据集合,其特征是新数据项的添加总发生在一段(通常称为"尾端"),而现存数据项的移除总发生在另一端(通常chengwei)
2021-06-09 13:46:15
188
原创 四种线性结构之----栈
什么是线性结构?答:是一种有序数据项的集合,其中每一数据项都有唯一的前驱和后继,线性结构总有两端,在不同情况下两端称呼也不同两端的称呼并不是关键,不同线性结构的关键区别在于数据项增减的方式,有的结构只允许数据项从一段添加,而有的架构则允许数据项从两端移除四种线性结构:栈Stack,队列Quene,双端队列Deque,列表List共同点在于:数据项之间只存在先后的次序关系,都是线性结构=============================栈======================.
2021-06-07 11:42:42
200
2
原创 迭代算法和非迭代算法的比较
什么是迭代?答:每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。好比1+2+3+4+......这就是迭代运算
2021-06-03 20:24:19
1250
原创 二、变位词判断计算法
解法三:技术比较解题思路:对比两个词中每个字母出现的次数,如果26个字母出现都相同的话,这两个字符就一定是变位词做法:为每个词设置一个26位dejishuq
2021-06-02 13:34:37
189
原创 “变位词”判断和几种算法性能的比较
1.什么是变位词?答:变位词是指两个词之间存在组成字母的重新排序关系,如:python和typhon2.怎么判断两个是否为变位词?思路:xie
2021-06-01 10:23:29
431
原创 celery异步发送短信验证码
项目中,发送验证码,因为代码自上而下,会先发送验证码,后响应倒计时流程如下:发送短信是耗时的操作。如果短信被阻塞住,用户响应将会延迟。 响应延迟会造成用户界面的倒计时延迟。如何解决呢?发送短信和响应分开执行,将发送短信从主业务中解耦出来。用什么方式来解耦呢?【概念】 最常用的解耦方式之一,寻找中间人(broker)搭桥,保证两个业务没有直接关联,我们称这一解耦方式为:生产者消费者设计模式生产者生成消息,缓存到消息队列中,消费者读取消息队列中的消息并执行。...
2021-05-03 14:04:49
185
1
原创 python 跨域访问
1.什么是跨域?来自A服务器(A源)的js,请求的目标B服务器(B源),这种请求我们就称之为“跨域请求”。2.同源与不同源同源:即是同源 —— 资源url的协议 + 域名 + 端口相同 (不同原则反之)同源情况下:不同源情况(遵循三步走 ): (1)、发送OPTIONS请求来询问目标源主机是否允许此次跨域请求 (2)、目标源主机响应OPTIONS请求(两种情况,一种是允许,一种是不允许) (3)、当浏览器得到允许的OPTIONS响应之后,才会发送此次跨域请.
2021-04-27 14:00:51
644
原创 Django项目点击运行按钮,出现Django Error: That port is already in use 的解决
1.原因:因为端口被占用出现的错误2.解决:杀死已经存在的进程终端命令:lsof -i:8000 # 查看已经运行的进程sudo kill -9 PID # PID为查询到的PID
2021-04-25 17:14:17
158
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人