1. 簡介
概念
Redis是一個開源的,先進的key-value存儲。它通常被稱為資料結構伺服器,因為鍵可以包含字元串,哈希,連結清單,集合和有序集合。
Redis是一個key-value存儲系統,它支援存儲的value類型很多,包括String(字元串)、list(連結清單)、set(集合)、zset(有序集合)。這些資料類型都是支援push/pop、add/remove及交集和并集及更豐富的操作的,redis支援各種不同方式的排序。為了保證效率,資料都是緩存在記憶體中的,但是也是可以周期性的把資料寫進磁盤的,或者把修改操作寫入追加的記錄的檔案。
也就是說儲存資料存在兩種方式:寫入資料庫,在記憶體中做個快照。
特點
(1)Redis支援資料的持久化,可以将記憶體中的資料保持在磁盤中,重新開機的時候可以再次加載進行使用。
(2)Redis不僅僅支援簡單的key-value類型的資料,同時還提供list,set,zset,hash等資料結構的存儲。
(3)Redis支援資料的備份,即master-slave模式的資料備份。
不同于其他的key-value存儲,Redis有着更為複雜的資料結構并且提供對他們的原子性操作,這是一個不同于其他資料庫的進化路徑。Redis的資料類型都是基于基本資料結構的同時對程式員透明,無需進行額外的抽象。
Redis運作在記憶體中但是可以持久化到磁盤,是以在對不同資料集進行高速讀寫時需要權衡記憶體,應為資料量不能大于硬體記憶體。在記憶體資料庫方面的另一個優點是,相比在磁盤上相同的複雜的資料結構,在記憶體中操作起來非常簡單,這樣Redis可以做很多内部複雜性很強的事情。同時,在磁盤格式方面他們是緊湊的以追加的方式産生的,因為他們并不需要進行随機通路。
優勢
(1)性能極高– Redis能讀的速度是110000次/s,寫的速度是81000次/s 。
(2)豐富的資料類型– Redis支援二進制案例的 Strings, Lists, Hashes, Sets 及 OrderedSets 資料類型操作。
(3)原子– Redis的所有操作都是原子性的,同時Redis還支援對幾個操作全并後的原子性執行。
(4)豐富的特性– Redis還支援 publish/subscribe, 通知, key 過期等等特性
2. 下載下傳和安裝
下載下傳
從網上下載下傳相應的redis包,下載下傳位址是:https://github.com/dmajkic/redis/downloads
下載下傳到的Redis支援32bit和64bit,可以根據自己的實際需要去選擇,之後将需要的版本進行解壓,最好安裝盤符進行指令比如我的是D:\360安全浏覽器下載下傳\redis\64bit,但是最好不要含中文目錄,最好的命名是D: \redis\64bit。
如果是Linux的話,下載下傳位址是:http://redis.io/download;裡面含有多個版本,最好是下載下傳新的,并且是穩定的版本。
不同于window下下載下傳的redis包,Linux下的包下面是沒有redis-server,隻有當執行make編譯指令後才會出現redis-server。
安裝
Window上安裝
Redis可以安裝在Linux上面也是可以安裝在Windows上面的,我們以window為例。
Window上解壓的目錄是:
啟動服務有兩種方式:然後輕按兩下redis-server.exe即可開啟服務端;第二種是使用配置檔案啟動【redis.conf】輸入cmd,輸入指令(redis-server.exe redis.conf):
顯示的連接配接數是0:
此時打開一個redis用戶端進行伺服器的通路,同樣是存在兩種方式: 輕按兩下redis-client.exe即可啟動用戶端了,另一種方式是redis-cli.exe -h 127.0.0.1 -p 6379;【redis服務的預設端口是6379;mysql資料庫的預設端口是3306;而memcached的預設端口是11211】
此時效果圖:此時表示連接配接已經建立(必須切換到redis的目錄)
設定鍵值對(set key1firstRedisExample)和擷取鍵值對(get key1):
至此window下redis安裝完畢。
上面指令的執行必須切換到目錄下面才是可以,為了友善的話,可以把redis的路徑加到系統的環境變量裡,這樣就省得再輸路徑了,後面的那個redis.conf可以省略,如果省略,會啟用預設的。
Linux上安裝
關于Linux下面的安裝,由于機器沒有安裝Linux系統以及虛拟機,在此列出在Linux上操作的指令。
下載下傳安裝包:
$ wget http://download.redis.io/releases/redis-2.8.17.tar.gz
Wget是Linux上的下載下傳指令。
解壓redis包:
$ tar xzf redis-2.8.17.tar.gz
切換到解壓目錄:
$ cd redis-2.8.17
目錄結構:
Src下面的類:
此時發現沒有redis-server.exe,上面我們已經提到了隻要編譯後才會生成redis-server指令。
編譯指令make:
$ make
make完後redis-2.8.17目錄下會出現編譯後的redis服務程式redis-server,還有用于測試的用戶端程式redis-cli,兩個程式位于安裝目錄 src 目錄下。
如何啟動服務呢?
切換到安裝目錄:
$ cd src
Redis-server啟動服務:
$ ./redis-server
這是一種以啟動預設配置的方式,當然也是可以通過啟動參數來告訴redis使用指定的配置檔案啟動:
$ cd src
$ ./redis-server redis.conf
服務開啟後就可以使用測試用戶端與服務建立連接配接,進而進行互動了。
$ cd src
$ ./redis-cli
同理,此時我們可以執行在window下設定的鍵值,來做測試例子,同樣會輸出我們上面的結果,大家有條件的就試試吧。
至此Linux下的指令介紹的差不多了,下篇我們主要講述redis豐富的資料類型,請持續關注~