1、引言
html
設計模式寫完了,至關於從新學了一遍,每次學習都會有不一樣的感覺,對設計模式的理解又加深了,理解的更加透徹了。還差一篇關於設計模式的總結的文章了,寫完這篇總結性的文章,設計模式的文章就暫時要告一段了,這篇總結性的文章我會盡快補上的。從今天開始,我就把我學習Redis的過程記錄下載,以備之後查詢觀看。好久之前就接觸過Redis,可是還沒造成體系,最近有時間,就從新來學習一下,爭取系統性的掌握Redis的各個方面。好了,廢話很少說了,開始正文。web
2、NoSQL簡介和分類
在軟件構建過程當中,若是軟件系統的規模不是很大,用戶流量也不是很大,像通常作法開發就好,也不須要使用特別的技術。若是咱們開發的軟件系統的用戶量很大,大量的用戶頻繁的訪問就會帶來另一個問題,就是高併發,若是不能很好的解決併發問題,會使系統運行緩慢,用戶體驗下降,最後的結果是您的用戶的大量流失。對於一個Web系統來講,用戶就是資本,那該怎麼解決高併發的問題呢?有一項技術是必需要用到的,那就是緩存。咱們先給你們介紹一個概念「NoSQL」,NoSQL是什麼呢?咱們來看看它的定義吧,以下:NoSQL(NoSQL = Not Only SQL ),意即「不只僅是SQL」,不只僅只有關係型數據庫,SQL代指關係型數據庫,是一項全新的數據庫革命性運動,發展至2009年趨勢愈加高漲。NoSQL的擁護者們提倡運用非關係型的數據存儲,這一律念無疑是一種全新的思惟的注入。數據庫
咱們簡單的看看NoSQL的分類,看了它的分類,對咱們理解Redis頗有幫助。centos
一、鍵值(Key-Value)存儲數據庫
這一類數據庫主要會使用到一個哈希表,這個表中有一個特定的鍵和一個指針指向特定的數據。Key/value模型對於IT系統來講的優點在於簡單、易部署。可是若是DBA只對部分值進行查詢或更新的時候,Key/value就顯得效率低下了。相似數據庫有:Tokyo Cabinet/Tyrant,Redis,Voldemort, Oracle BDB。
二、列存儲數據庫。
這類型的數據庫一般是用來應對分佈式存儲的海量數據。鍵仍然存在,可是它們的特色是指向了多個列。這些列是由列家族來安排的。該類型的數據庫以下:Cassandra,HBase,Riak。
三、文檔型數據庫
這類型的數據庫和第一種鍵值存儲相相似。該類型的數據模型是版本化的文檔,半結構化的文檔以特定的格式存儲,好比JSON。文檔型數據庫能夠看做是鍵值數據庫的升級版,容許之間嵌套鍵值。並且文檔型數據庫比鍵值數據庫的查詢效率更高。該類型的數據庫有:CouchDB,MongoDb。 國內也有文檔型數據庫SequoiaDB,已經開源。
四、圖形(Graph)數據庫
圖形結構的數據庫同其餘行列以及剛性結構的SQL數據庫不一樣,它是使用靈活的圖形模型,而且可以擴展到多個服務器上。
NoSQL數據庫沒有標準的查詢語言(SQL),所以進行數據庫查詢須要制定數據模型。許多NoSQL數據庫都有REST式的數據接口或者查詢API。如:Neo4J,InfoGrid, Infinite Graph。
如今咱們對NoSQL數據庫有了基本的認識,NoSQL數據也是有本身的使用場景的,如下場合使用NoSQL數據庫,以下:
一、數據模型比較簡單,複雜了就是用關係型數據庫了;
二、須要靈活性更強的IT系統;
三、對數據庫性能要求較高;
四、不須要高度的數據一致性,好比Redis是支持事務的,可是它的事務不能保證所有提交或者所有回滾的,也就是說數據的一致性不能保證;
五、對於給定key,比較容易映射覆雜值的環境。
你們看到了吧,其實Redis數據庫就是屬於NoSQL數據庫裏面的第一種分類,也就是「鍵值存儲數據庫」,因此說Redis也是NoSQL數據庫的,沒毛病。接下來,讓咱們認識一下Redis數據庫吧。設計模式
3、Redis簡介
緩存
在這裏咱們簡單介紹一下Redis數據庫,讓你們對它有一個基本的認識,咱們先來看看Redis數據庫的定義吧。服務器
Remote Dictionary Server(Redis這個名稱是一個縮寫)是一個基於 key-value 鍵值對的、能夠持久化的、徹底開源免費的、遵照BSD協議的內存數據庫存儲系統,經常使用做緩存或者消息隊列。支持多種數據結構,包括 string (字符串)、list (鏈表)、set (集合)、zset (sorted set:有序集合)和 hash(哈希類型)。這些數據類型都支持 push/pop、add/remove 及取交集並集和差集及更豐富的操做,並且這些操做都是原子性的。
接下來,咱們在說說Redis的優點的,若是沒有優點,鬼才會使用它呢。網絡
一、讀寫性能極高 – Redis讀的速度是110000次/s,寫的速度是81000次/s,因此使用Redis緩存數據,存取數據幾乎是0感受,固然是對於用戶來講的 。
二、支持豐富的數據類型 – Redis支持豐富的數據類型,如: String(字符串), Lists(鏈表), Hash(哈希),Set(無序集合) 及 ZSet(有序集合)等數據類型,因此咱們放棄了Memched,由於它支持的數據類型太少了。
三、全部操做支持原子性 – Redis的全部操做都是原子性的,意思就是要麼成功執行,要麼失敗。單個操做是原子性的。多個操做也支持事務,即原子性,經過MULTI和EXEC指令包起來。
四、豐富的特性 – Redis支持 publish/subscribe(發佈/訂閱),也支持事務、隊列、持久化,能夠設置key過時時間等等特性。
好了,既然是簡介,先就說道這裏吧,還有不少特性,咱們在學習的過程當中在一一交代吧。數據結構
4、VMWare Pro和Linux的安裝併發
到了這一節,是該上主食的時候了。Redis能夠安裝到Windows環境下,固然也能夠安裝到Linux環境下,這兩種環境的安裝我都會一一介紹的。既然要安裝到Liunx環境下,我不想裝兩個系統,固然你能夠裝兩個系統,好比:Windows 10 和 CentOS 7。選擇的是第二個方案,先裝虛擬機,而後再在虛擬機中安裝Redis。因此準備階段要先把虛擬機和Linux系統安裝好,下面咱們就一步一步的教你們來操做,很簡單,你們不要噴,若是你們很熟悉,能夠跳過,我寫這段只是給本身留個備份,之後本身能夠複習。很少說了,開始一步一步的安裝。
4.一、VMWare Pro的安裝
1】、咱們能夠去「百度」,若是知道官網,也能夠直接去官網下載VMWare Pro軟件安裝包,地址以下:https://my.vmware.com/en/web/vmware/info/slug/desktop_end_user_computing/vmware_workstation_pro/14_0?wd=&eqid=bdde195a00027b2c000000025a55be26,截圖效果以下:
2】、下載後,能夠雙擊安裝文件,開始虛擬機的安裝。出現【安裝嚮導】對話框,直接點擊【下一步】按鈕,開始安裝步驟。
3】、選擇接受協議條款,而後點擊【下一步】按鈕,繼續
4】、在這一步,咱們能夠更改安裝目錄,建議選擇【加強型鍵盤驅動程序】,而後點擊【下一步】按鈕,繼續
在上圖,點擊【更改】按鈕,打開【更改目標文件夾】對話框,在該對話框選擇好目錄,而後點擊【肯定】按鈕,返回上一個對話框。
5】、在這一步,能夠保持默認選擇就好,而後點擊【下一步】按鈕,繼續
6】、在「快捷方式」這一步,爲了本身使用方便,這兩項我都是選擇,而後點擊【下一步】按鈕,繼續
7】、在這一步,已經準備好安裝VMWare Pro,而後,點擊【安裝】按鈕,開始安裝程序。
8】、在這一步,咱們能夠看到安裝的進度。安裝進度完成後,會自動跳到完成頁面。
9】、安裝完成,若是咱們直接點擊【完成】按鈕,完成VMWare Pro的安裝,該版本當前是試用版本,能夠點擊【許可證】按鈕,繼續認證。
10】、輸入VMware Workstation Pro 14 永久許可證激活密鑰(FF31K-AHZD1-H8ETZ-8WWEZ-WUUVA 或 CV7T2-6WY5Q-48EWP-ZXY7X-QGUWD,二選一),點擊【輸入】按鈕
11】、最後,咱們點擊【完成】按鈕,完成VMWare Pro的安裝。
12】、運行虛擬機,打開虛擬機的窗口,窗口以下:
13】、若是安裝的時候沒有輸入許可證祕鑰,能夠點擊【幫助】--【輸入許可證祕鑰】
14】、輸入VMware Workstation Pro 14 永久許可證激活密鑰(FF31K-AHZD1-H8ETZ-8WWEZ-WUUVA 或 CV7T2-6WY5Q-48EWP-ZXY7X-QGUWD,二選一),點擊肯定,至此VMware Workstation Pro 14安裝過程所有結束。
15】、安裝完成了,咱們看看咱們的虛擬機是否已經激活了,點擊菜單【幫助】--【關於VMWare Workstations】,看到「許可證信息」的過時爲:永不過時,證實所有安裝完成。
好了,到此爲止,咱們的VMware Workstation Pro算是所有的、正確的安裝完成了。咱們有了虛擬機了,下一步,就要在虛擬機中安裝Linux操做系統了。
4.二、Linux的安裝(在虛擬機裏的安裝)
1】、準備工做,準備什麼,咱們最起碼先要所須要的軟件下載下來。
1.1)、下載和安裝VMware workstation14(此步已經完成)
1.2)、下載CentOS7安裝包,地址以下:https://www.centos.org/download/,截圖以下:
1.3)、下載SSH Secure Shell Client,這個工具能夠鏈接Linux系統,工具很好用。官網地址以下:https://www.ssh.com/ssh/,截圖效果以下:
2】、VMware虛擬機的配置
2.1)、打開虛擬機軟件「VMware Workstation」,選擇【建立新的虛擬機】,固然也能夠從菜單裏面打開建立虛擬機的窗口。
2.2)、顯示【新建虛擬機嚮導】對話框,選擇「典型」選項,點擊【下一步】按鈕,繼續
2.3)、顯示【安裝客戶機操做系統】對話框,選擇【稍後安裝操做系統】,點擊【下一步】按鈕,繼續
2.4)、顯示【選擇客戶端操做系統】對話框,咱們選擇「Linux(L)」,版本選擇「CentOS 7 64位」,點擊【下一步】按鈕,繼續
2.5)、在【命名虛擬機】對話框中,咱們能夠輸入「虛擬機名稱」;點擊「瀏覽」按鈕,選擇虛擬機文件保存的位置;點擊【下一步】按鈕,繼續
2.6)、在【指定磁盤容量】對話框中,能夠根據實際的狀況,選擇本身設計,或者使用的默認設置,我從新修改了一下「磁盤最大大小」,其餘保持默認的選項,點擊【下一步】按鈕,繼續
2.7)、到達此步步驟,說明,虛擬機的配置基本完成,可是,咱們還要經過【自定義硬件】來配置ISO的文件映射,內存,CPU等信息,這個配置完成就能夠安裝系統了。咱們繼續點擊【自定義硬件】按鈕,來配置硬件,
2.8)、在此步驟,咱們要修改一下內存,默認值是1G,我設置爲2G,能夠根據本身的狀況選擇
2.9)、在當前對話框中,咱們選擇【新CD/DVD】選項卡, 選擇【使用ISO鏡像文件】,而後點擊【瀏覽】,找到剛纔下載的centOS7鏡像文件,而後點擊下面的【關閉】按鈕,返回上層窗口。
2.10)、在該窗口,咱們點擊【完成】按鈕,到此,虛擬機就建立完成了,下面咱們該安裝CentOS操做系統了。
3】、開始安裝CentOS7操做系統
3.1)、開啓虛擬機
3.2)、開始安裝CentOS系統,我比較幸運,一次就安裝好了,沒有遇到什麼問題。
3.2)、這是CentOS系統的安裝過程,沒什麼可說的,咱們就是等待就行了。
3.2)、選擇語言「中文-簡體中文」
3.3)、接下來顯示「安裝信息摘要」頁面;
3.4)、軟件選擇:決定了系統安裝後包括哪些功能,若是使用默認值,那麼系統安裝後是沒有圖形界面的;選擇「GNOME 桌面」,會顯示圖形界面;本着學習的目的,這裏選擇默認設置【最小安裝】
3.5)、安裝位置:分區配置咱們選擇【自動配置分區】,該值也是默認值。
3.6)、網絡和主機名:打開鏈接開關,記住IP地址,SSH登陸時使用,設置主機名,點擊【應用】生效,單機【完成】按鈕完成設置。
3.7)、開始安裝
3.8)、設置ROOT密碼,能夠在安裝系統的過程當中設置Root的密碼。
3.9)、如今能夠安裝了
3.10)、按照步驟設置,最後安裝完成,點擊【重啓】按鈕,準備開始使用系統。
3.11)、系統重啓後,Linux login:root,密碼就是你設置的密碼,輸入密碼,顯示以下圖,證實登錄成功。(須要說明,輸入密碼的時候不會出現*號,不會出現輸入一個字符,就出現一個*號的狀況。輸入前,必須用鼠標點擊Linux系統的黑色桌面,才能夠輸入)
4】、如今咱們使用SSH登陸Linux
4.1)、打開SSH軟件,點擊【Quick Connect(快速連接)】按鈕,來鏈接服務器。
4.2)、配置鏈接,輸入Linux系統的IP地址,端口號和用戶名,而後點擊【鏈接】按鈕,開始鏈接。
根據安裝CentOS配置的以太網,獲取IP地址:192.168.127.128,端口:22,是默認值,用戶名就是Root
4.3)、輸入root的密碼,若是是第一次鏈接,會提示以下的窗口,根據本身的選擇。
4.4)、登陸成功
出現該窗口,說明使用SSH登錄Linux系統已經成功了。恭喜你,也恭喜我本身。
5、總結
終於寫完了,有不少截圖要製做,因此時間上花的比較多,用了5個小時,可是對於本身來講是值得。仔細回想每一步,還就像在眼前,系統作好了,下一步就是在Linux系統上安裝Redis了。