-
多圖深入理解 Redis
什么是 Redis? Redis(REmote DIctionary Service)是一個(gè)開(kāi)源的鍵值對(duì)數(shù)據(jù)庫(kù)服務(wù)器。 Redis 更準(zhǔn)確的描述是一個(gè)數(shù)據(jù)結(jié)構(gòu)服務(wù)器。Redis 的這種特殊性質(zhì)讓它在開(kāi)發(fā)人員中很受歡迎。 Redis不是通過(guò)迭代或者排序方式處理數(shù)據(jù),而是一開(kāi)始就按照數(shù)據(jù)結(jié)構(gòu)方式組織。早期,它的使用很像 Memcached,但隨著 Redis 的改進(jìn),它在許多其他用例中變得可行,包括發(fā)布-訂閱機(jī)制、流(streaming)和隊(duì)列。 主要來(lái)說(shuō),Redis 是一個(gè)內(nèi)存數(shù)據(jù)庫(kù),用作另一個(gè)“…
-
10個(gè) Linux 命令,讓你的操作更有效率
今天幫大家收集了10個(gè)Linux的命令,希望小伙伴們能夠本文中更深刻地理解 Linux 的相關(guān)特性: 01 pgrep pgrep名字前有個(gè)p,我們可以猜到這和進(jìn)程相關(guān),又是grep,當(dāng)然這是進(jìn)程相關(guān)的grep命令。不過(guò),這個(gè)命令主要是用來(lái)列舉進(jìn)程ID的。如: $ pgrep -u hchen2244122444 這個(gè)命令相當(dāng)于: ps -ef | egrep '^hchen' | awk '{print $2}' 02 pstree 這個(gè)命令可以以樹(shù)形的方式列出進(jìn)程。如下所示: [hchen@…
-
Linux基本運(yùn)維匯總
1?rpm管理 rpm的作用類(lèi)似于windows上的電腦管家中軟件管理、安全衛(wèi)士里面 “軟件管家” 等產(chǎn)品,是 RPM 軟件包的管理工具。rpm 原本是 Red Hat Linux 發(fā)行版專(zhuān)門(mén)用來(lái)管理 Linux 各項(xiàng)套件的程序,由于它遵循 GPL 規(guī)則且功能強(qiáng)大方便,因而廣受歡迎。逐漸受到其他發(fā)行版的采用。RPM 套件管理方式的出現(xiàn),讓 Linux 易于安裝,升級(jí),間接提升了 Linux 的適用度。 要想裝軟件,和 windows 下一樣,先得找到安裝包。 軟件包的獲得方式: 不嫌麻煩的話,去…
-
超全 vim 使用和配置
首先我們先理清楚一個(gè)概念:編輯器和編譯器和調(diào)試器! ??vim:是一款編輯器,只負(fù)責(zé)寫(xiě)代碼;相當(dāng)于 windows 的記事本; ??gcc:是一款編譯器,只負(fù)責(zé)程序的翻譯; ??gdb:是一款調(diào)試器,只負(fù)責(zé)程序的調(diào)試 而在我們?cè)谟?VS 寫(xiě) C 代碼的時(shí)候,這些是全都在 VS 編譯器上實(shí)現(xiàn)的;因?yàn)?VS 是集成開(kāi)發(fā)環(huán)境! vim 的使用學(xué)習(xí) vim 簡(jiǎn)介 vim 是一個(gè)功能強(qiáng)大的多模式編輯器, 是 Linux/UNIX 上最常用的文本編輯器, 它的作用是建立、編輯、顯示文本文件。Vim 沒(méi)有菜單…
-
Linux 多線程全面解析
在傳統(tǒng)的 Unix 模型中,當(dāng)一個(gè)進(jìn)程需要由另一個(gè)實(shí)體執(zhí)行某件事時(shí),該進(jìn)程派生(fork)一個(gè)子進(jìn)程,讓子進(jìn)程去進(jìn)行處理。Unix 下的大多數(shù)網(wǎng)絡(luò)服務(wù)器程序都是這么編寫(xiě)的,即父進(jìn)程接受連接,派生子進(jìn)程,子進(jìn)程處理與客戶(hù)的交互。 雖然這種模型很多年來(lái)使用得很好,但是 fork 時(shí)有一些問(wèn)題: fork 是昂貴的。內(nèi)存映像要從父進(jìn)程拷貝到子進(jìn)程,所有描述字要在子進(jìn)程中復(fù)制等等。目前有的 Unix 實(shí)現(xiàn)使用一種叫做寫(xiě)時(shí)拷貝(copy-on-write)的技術(shù),可避免父進(jìn)程數(shù)據(jù)空間向子進(jìn)程的拷貝。盡管有…
-
Linux 操作的良好習(xí)慣總結(jié)
前言:從事運(yùn)維,遇到過(guò)各式各樣的問(wèn)題,數(shù)據(jù)丟失,網(wǎng)站掛馬,誤刪數(shù)據(jù)庫(kù)文件,黑客攻擊等各類(lèi)問(wèn)題。 今天簡(jiǎn)單整理一下,分享給各位小伙伴。 一、線上操作規(guī)范 1. 測(cè)試使用 當(dāng)初學(xué)習(xí)Linux的使用,從基礎(chǔ)到服務(wù)到集群,都是在虛擬機(jī)做的,雖然老師告訴我們跟真機(jī)沒(méi)有什么差別,可是對(duì)真實(shí)環(huán)境的渴望日漸上升,不過(guò)虛擬機(jī)的各種快照卻讓我們養(yǎng)成了各種手賤的習(xí)慣,以致于拿到服務(wù)器操作權(quán)限時(shí)候,就迫不及待的想去試試,記得上班第一天,老大把root密碼交給我,由于只能使用putty,我就想使用xshell,于是悄悄登…
-
優(yōu)秀的代碼都是如何分層的?
1、背景 說(shuō)起應(yīng)用分層,大部分人都會(huì)認(rèn)為這個(gè)不是很簡(jiǎn)單嘛 就controller,service, mapper三層。看起來(lái)簡(jiǎn)單,很多人其實(shí)并沒(méi)有把他們職責(zé)劃分開(kāi),在很多代碼中,controller做的邏輯比service還多,service往往當(dāng)成透?jìng)髁耍@其實(shí)是很多人開(kāi)發(fā)代碼都沒(méi)有注意到的地方,反正功能也能用,至于放哪無(wú)所謂唄。這樣往往造成后面代碼無(wú)法復(fù)用,層級(jí)關(guān)系混亂,對(duì)后續(xù)代碼的維護(hù)非常麻煩。 的確在這些人眼中分層只是一個(gè)形式,前輩們的代碼這么寫(xiě)的,其他項(xiàng)目代碼這么寫(xiě)的,那么我也這么跟著…
-
常用 Shell 分析服務(wù)器日志命令,運(yùn)維快收藏!
自己的小網(wǎng)站跑在阿里云的 ECS 上面, 偶爾也去分析分析自己網(wǎng)站服務(wù)器日志,看看網(wǎng)站的訪問(wèn)量。看看有沒(méi)有黑闊搞破壞!于是收集,整理一些服務(wù)器日志分析命令,大家可以試試! 1、查看有多少個(gè)IP訪問(wèn): awk '{print $1}' log_file|sort|uniq|wc -l 2、查看某一個(gè)頁(yè)面被訪問(wèn)的次數(shù): grep "/index.php" log_file | wc -l 3、查看每一個(gè)IP訪問(wèn)了多少個(gè)頁(yè)面: awk '{++S[$1]} END {for (a in S) prin…
-
幾個(gè)必不可少的Linux運(yùn)維腳本!
一、根據(jù)PID過(guò)濾進(jìn)程所有信息 #! /bin/bash # Function: 根據(jù)用戶(hù)輸入的PID,過(guò)濾出該P(yáng)ID所有的信息 read?-p?"請(qǐng)輸入要查詢(xún)的PID: "?P n=`ps -aux| awk?'$2~/^'$P'$/{print $11}'|wc -l` if?[?$n?-eq 0 ];then ?echo?"該P(yáng)ID不存在!!" ?exit fi echo?"--------------------------------" echo?"進(jìn)程PID:?$P" echo?"進(jìn)…
-
Linux 性能分析工具匯總
出于對(duì)Linux操作系統(tǒng)的興趣,以及對(duì)底層知識(shí)的強(qiáng)烈欲望,因此整理了這篇文章。本文也可以作為檢驗(yàn)基礎(chǔ)知識(shí)的指標(biāo),另外文章涵蓋了一個(gè)系統(tǒng)的方方面面。如果沒(méi)有完善的計(jì)算機(jī)系統(tǒng)知識(shí),網(wǎng)絡(luò)知識(shí)和操作系統(tǒng)知識(shí),文檔中的工具,是不可能完全掌握的,另外對(duì)系統(tǒng)性能分析和優(yōu)化是一個(gè)長(zhǎng)期的系列。 本文檔主要是結(jié)合Linux 大牛,Netflix 高級(jí)性能架構(gòu)師 Brendan Gregg 更新 Linux 性能調(diào)優(yōu)工具的博文,搜集Linux系統(tǒng)性能優(yōu)化相關(guān)文章整理后的一篇綜合性文章,主要是結(jié)合博文對(duì)涉及到的原理和性…