SSH公钥
git clone 有两种方式,我常用的是http协议的,但SSH更为简便,在拉取一些不开源的代码时加入了SSH公钥的话就不用再验证用户名和密码了
查看公钥
命令行 : cat.ssh/id_rsa/pub
何为公钥
- 很多服务器需要认证,ssh任转是其中一种,在客户端生成公钥,把生成的公钥添加到服务器,以后连接服务器就不用每次都输入用户名和密码了。
- 很多git 服务器都是用ssh 认证的方式,你需要把你生成的公钥发送给代码仓库管理员,让他给你添加到服务器上,你就可以通过ssh自由的拉取和提交代码
生成公钥
- 客户端需要先生成公钥,
ssh-keygen - 接着会确认存放公钥的地址,默认就是上述的路径,直接enter确认
- 接着会要求输入密码和确认密码,如果不想设置密码直接不输入内容,enter即可
MySQL 时间类型
Data 只能存到日,Datatime 和 timestamp 除了存储范围和存储方式不同之外没有什么区别。
1、存储范围
timestamp 存储范围小,1970-01-01 00:00:01.000 到2038-01-19 03:14:07.999999 因为mysql的timestamp 类型,存储的是一个整形的int 数据,由于int是有大小范围的,最多可以存储21亿数据,因此timestamp存储的数据被限制在1970 ~ 2038年之间。
Datatime 存储范围没有限制,1000-01-01 00:00:00 00000 到 9999-12-31:23:59:59:999999
2、存储方式
Datatime 不做任何改变,原样输入 原样输出 Timestamp 把客户端插入的时间按照当前时区转化为UTC(世界标准时间)进行存储。查询是会按客户端的时区进行转化然后返回。
Timestamp 海量并发时,存在性能抖动问题且Timestamp存在存在时区转化问题,性能不如Datatime(虽然通过timestamp可以自动转化时区,代价是当MySQL 参数 time_zone = system 时每次都会尝试获得一个全局锁,在高并发的环境下是致命的,可能导致线程的上下文频繁切换,cpu使用率暴涨,系统响应变慢甚至假死)
如果存入的是NULL 那么timestamp 会自动存储当前时间,而datetime 会存储NULL
3、字节比较
datetime 占 8字节(string) timestamp占 4字节(int)
Redis 的 SetNX
|