CVS / VSS ---> 鎖定模式
Subversion(SVN)---> 合并模式 + 中央服務器
BitKeeper / Git ---> 合并模式 + 分布式版本控制
Multics ---> Unics ---> Unix
Unix ---> MINIX ---> Linux ---> Android
Unix ---> BSD ---> FreeBSD ---> macOS ---> ios
Unix ---> AIX / Hp-Unix / Solaris
ken thompson ---> B
dennis ritchie ---> C
Linux安裝軟件:
- 包管理工具
- yum CentOS
~ yum search nginx
~ yum install nginx
~ yum erase nginx / yum remove nginx
~ yum info nginx
~ yum list installed | grep nginx - rpm Redhat
~ rpm -ivh 下載的rpm包文件名
~ rpm -e
~ rpm -qa - apt Ubuntu
- yum CentOS
- 源代碼構建安裝
安裝Redis官方最新版
~ wget http://download.redis.io/releases/redis-5.0.7.tar.gz
~ gunzip redis-5.0.7.tar.gz
~ tar -xvf redis-5.0.7.tar
~ cd redis-5.0.7
~ make && make install
安裝Git官方最新版
~ wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.24.1.tar.xz
~ xz -d git-2.24.1.tar.xz
~ tar -xf git-2.24.1.tar
~ cd git-2.24.1
~ yum install -y curl libcurl-devel
~ ./configure --prefix=/usr/local
~ make && make install
lloogg.com ---> LAMP = Linux + Apache + MySQL + PHP
LNMP = Linux + Nginx + MySQL + PHP
Remote Dictionary Server ---> KV存儲系統(tǒng)
GitHub ---> 3.x ---> 5.x
緩存系統(tǒng)緩解關系型數據庫的訪問壓力
命令 & ---> 將命令放到后臺運行
jobs ---> 查看后臺運行的命令
fg %編號 ---> 將后臺命令放到前臺運行
Ctrl+z ---> 將前臺命令暫停并放到后臺
bg %編號 ---> 將暫停的命令在后臺運行
redis-cli -p 端口 -h 主機
set username luohao ex 120 ---> 添加鍵值對
get username ---> 通過鍵查找值
ttl username ---> 查看鍵過期時間
expire username 300 ---> 設置鍵過期時間
keys * ---> 查看所有鍵
dbsize ---> 查看數據庫大写虿(鍵值對數量)
select 編號 ---> 切換數據庫
save ---> 保存數據
bgsave ---> 后臺保存數據
flushdb ---> 清空當前數據庫的數據
flushall ---> 清空所有數據庫的數據
exists ---> 判斷指定的鍵是否存在
type ---> 查看鍵對應的值的數據類型
Redis的核心數據類型:
- 字符串
set key value ---> 添加鍵值對
get key ---> 通過鍵查看值
strlen key ---> 獲取字符串長度
append key value2 ---> 給字符串追加內容
mset key1 value1 key2 value2 ---> 添加多組鍵值對
mget key1 key2 ---> 查看多個鍵對應的值
incr key ---> 值加1
incrby key value ---> 值加上value
decr key ---> 值減1
decrby key value ---> 值減去value
getrange key start end ---> 獲取字符串指定范圍的子串
setrange key offset value ---> 修改字符串指定位置的內容 - 哈希(表) - hash
hset key field value ---> 添加hash類型鍵值對
hmset key field1 value1 field2 value2 ---> 添加多組hash類型鍵值對
hget key field ---> 獲取hash類型字段對應的值
hmget key field1 field2 ---> 獲取hash類型多個字段對應的值
hgetall key ---> 獲取hash類型所有的字段和對應的值
hkeys key ---> 獲取hash類型所有的字段
hvals key ---> 獲取hash類型所有字段的值
hexists key field ---> 判斷hash類型某個字段是否存在 - 列表 - list
lpush key value1 value2 value3 ---> 在左邊添加元素
rpush key value1 value2 value3 ---> 在右邊添加元素
lpop key ---> 從左邊移除一個元素
rpop key ---> 從右邊移除一個元素
lrange key start end ---> 查看列表指定范圍的元素
llen key ---> 查看列表元素個數
lindex key index ---> 查看列表指定位置元素
lrem key count value ---> 刪除列表中指定元素 - 集合 - set
sadd key value1 value2 value3 ---> 添加元素
srem key value ---> 刪除元素
spop ---> 獲取隨機元素
scard key ---> 查看元素個數
smembers key ---> 查看所有元素
sismember key value ---> 查看集合中有沒有指定元素
sinter key1 key2 ---> 交集
sunion key1 key2 ---> 并集
sdiff key1 key2 ---> 差集 - 有序集合 - zset
zadd key score1 mem1 score2 mem2 ---> 添加元素
zrem key mem ---> 刪除元素
zrange key start end ---> 按score的升序查看元素
zrevrange key start end ---> 按score的降序查看元素
zscore key mem ---> 查看元素對應的score
zincrby key value mem ---> 修改元素的score值
LBS應用 - Location-Based Service - 基于位置的服務
Linux系統(tǒng)啟停服務
~ 啟動:systemctl start nginx
service nginx start
~ 停止:systemctl stop nginx
service nginx stop
~ 重啟:systemctl restart nginx
~ 查看狀態(tài):systemctl status nginx
~ 開機自啟:systemctl enable nginx
~ 禁用自啟:systemctl disable nginx
加密技術:
~ 對稱加密:加密和解密使用相同的密鑰 - AES
~ 非對稱加密:加密和解密使用不同的密鑰(公鑰和私鑰)- RSA
PyCrypto
項目的依賴項文件:
~ pip freeze > requirements.txt
~ pip install -r requirements.txt