数据库

1、如果很多请求同时对Redis的同一个键进行访问,保证数据安全的做法

...

2、Redis的淘汰机制

...

3、MySQL数据库每天晚上12点进行全备份。第二天在9点钟误删除了一个数据库,但在10点钟才被发现。进行恢复被误删除的数据库并同时保留9点到10点钟新增的数据同时不影响业务的正常运行:

通过日志恢复 。

4、当数据越来越多,避免hash槽中key出现相同的情况:

...

5、MongoDB 应用场景

如果业务中存在大量复杂的事务逻辑操作,则不要用MongoDB数据库 。MongoDB 的适用场景为:数据不是特别重要(例如通知,推送这些),数据表结构变化较为频繁,数据量特别大,数据的并发性特别高,数据结构比较特别(例如地图的位置坐标),这些情况下用 MongoDB , 其他情况就还是用 MySQL ,这样组合使用就可以达到最大的效率。

6、Nginx 快的原因

 Nginx 使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型 。假设你在大学读书,住的宿舍楼有很多间房间,你的朋友要来找你。select版宿管大妈就会带着你的朋友挨个房间去找,直到找到你为止。而epoll版 宿管大妈会先记下每位同学的房间号,你的朋友来时,只需告诉你的朋友你住在哪个房间即可,不用亲自带着你的朋友满大楼找人。如果来了10000个人,都要 找自己住这栋楼的同学时,select版和epoll版宿管大妈,谁的效率更高,不言自明。同理,在高并发服务器中,轮询I/O是最耗时间的操作之 一,select和epoll的性能谁的性能更高,同样十分明了。

7、RPC

RPC(Remote Procedure Call)远程过程调用,简单的理解是一个节点请求另一个节点提供的服务 。

8、在服务器上设置业务进程数

...

9、正向代理和反向代理

a. 正向代理就是顺着请求的方向进行的代理,即代理服务器他是由你配置为你服务,去请求目标服务器地址。

比如我们要去访问谷歌网站,我们直接访问不通,那么我们就可以找一个代理服务器为我们服务,我们通过代理服务器请求到谷歌网站。对于谷歌而言他只知道有一个服务器访问了自己,并不知道这件事你是访问不了他,找了一个代理服务器访问自己。

在举一个通俗的例子。你需要钱,C正好有钱,但是你C不直接借给你。你和B关系比较好,B可以找C借到钱。你和B沟通后,由B来找C借到钱后在给你。
上面的两个例子中的共同特点是 代理服务器和B都是你找到的,为你而服务的,代表你的利益。我们还可以让代理服务器给你代理到推特、Facebook等,他是代理的你。

b. 反向代理正好与正向代理相反,代理服务器是为目标服务器服务的,虽然整体的请求返回路线都是一样的都是Client到Proxy到Server。

比如 我们访问百度网站,百度的代理服务器对外的域名为 https://www.baidu.com 。具体内部的服务器节点我们不知道。现实中我们通过访问百度的代理服务器后,代理服务器给我们转发请求到他们N多的服务器节点中的一个给我们进行搜索后将结果返回。

再举例:我们同样需要钱,但是我们又不知道谁有钱,所以我们找了一家网贷平台,你提交资料后,网贷平台直接将钱打给你。但是你不知道,也不用关注网贷平台的钱从哪里来。网贷平台内部他们可能从哪一个财主哪里融的钱。对你而言网贷平台和他们的金主是一起的。

同样通过上面我们例子可以看到,此时的代理服务器和后面的目标主机是一个系统的(百度公司、网贷平台)。他们是对外提供服务的,所以称为反向代理,代理的是后的人。

10、linux 查看剩余内存

top

11、查看端口否被占用

netstat -anp | grep  [ 端口号 ]    

查看具体端口 [端口号] 的使用情况

netstat -nultp

查看端口的使用情况

12、查看一个程序的PID以及它的所有子进程

top 

pstree -p PID

13、为一个目录下的所有文件添加权限

sudo chmod -R 777 文件夹名称

14、对一个目录具有写权限,不一定对这个目录下的所有文件具有删除权限 ,同一个目录下可能具有不同用户的文件。

15、linux 多路复用

复用的意思是不用每个进程/线程来操控单独的一个IO,只需一个进程/线程来操控多个IO 。I/O多路复用通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作 。I/O 多路复用技术是为了解决进程或线程阻塞到某个I/O系统调用而出现的技术,使进程不阻塞于某个特定的 I/O 系统调用 。

select  poll  epoll

16、修改IP地址

vi /etc/network/interfaces    后添加或修改三个东西,分别是:

address ip地址

gateway 网关

netmask 子网掩码

修改完成之后,需要重启网卡才能生效,输入:sudo /etc/init.d/networking restart

如果要查看是否修改成功的话 ifconfig 查看本机 ip 。

17、HTML 、CSS 和 JS

18、前端框架 BootStrap、React 和 Vue

19、优化 http

...

20、TCP建立连接的过程以及当时进入状态。建立连接只需要3次,断开连接需要4次。断开连接时第二次和第三次要分开,不能合在一起

...

21、一个请求过来到返回response的过程

...

22、MongoDB、MySQL 和 Redis 的区别和使用场景

MySQL 是关系型数据库,支持事务;MongoDB 、Redis 是非关系型数据库,不支持事务 。

希望速度快的时候,选择 MongoDB 或者是 Redis ;

数据量过大的时候,选择频繁使用的数据存入 Redis ,其他存入 MongoDB ;

MongoDB 不用提前建表建数据库,使用方便,字段数量不确定的时候使用 MongoDB ;

后续需要用到数据之间的关系,此时使用 MySQL 。

23、Python 相比于 Java 优雅、简单,Java 四行写完的东西 Python 一行就可以写完 。对于大数据量的处理 Java 可能更好一点,Python 主要用于人工智能和数据挖掘等 。

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值