Redis基礎學習筆記

weixin_34148456發表於2017-03-23

一、Redis的介紹

1.Redis是遠端的。有客戶端和服務端兩個部分,可以部署在不同的機器上,他們之間通過自定義的協議進行傳輸和互動。一般說的是服務端,除非特殊錯誤。
2.Redis是基於記憶體的。所有資料和結構存在記憶體中,所以比較高速,但也是一個吃記憶體的軟體
3.Redis是非關係型資料庫(mysql是關係型資料庫),不需要定義儲存資料字典

二、應用場景

1.快取
系統介面速度慢,把某些介面快取起來,下次就不需要去查庫了,直接去redis的快取中拿
2.佇列
Redis提供了List結構,把Redis當佇列使用,使用push插入佇列元素,使用pop彈出佇列元素
3.資料儲存
直接使用Redis執行增刪改查,不需要藉助Mysql進行資料儲存,是因為Redis有非常完備硬碟持久化機制

三、安裝

1.伺服器環境:linux/centos release 6.8
cd /
cat /etc/redhat-release
2.下載Redis原始碼
http://download.redis.io/releases/ 官網
把安裝包放到了/home/ftp/sha_softWare的目錄下
3.預裝軟體(gcc,tcl)
gcc是c語言的編譯器,redis是基於c語言寫的
tcl: redis的測試元件是使用tcl編寫的 (yum安裝)
4.解壓redis原始碼
tar -xf redis-3.2.8.tar.gz
5.進入解壓資料夾
cd redis-3.2.8
6.make(時間久)
7.檢視生成的二進位制檔案llsrc/redis*(此時可看到src/redis-cli
和src/redis-server,*萬用字元)
8.make install (把生成的二進位制檔案放到/usr/local/bin下),不是root登入的用sudo
9.which redis-server檢視放的目錄
10.檢視redis-server命令
redis-server --help
11.可以看到有redis.config這個檔案把它複製到別的地方
cp redis.conf /home/ftp/config/
12.開啟復制過去的這個檔案然後更改如下兩個地方,然後wq儲存退出
1)daemonize NO =>改為yes 指後臺啟動redis-server
2 ) port 6379 這是預設埠改為7200,為了安全
<b>13.啟動redis-server</b>

/usr/local/bin/redis-server /home/ftp/config/redis.conf (root使用者)

非root使用者請前邊加sudo
14.檢視是否啟動
ps aux|grep redis-server

四、使用redis-cli命令

<b>1.檢視是否安裝(檢視redis客戶端)redis-cli</b>

which redis-cli

2.使用redis-cli登入redis-server(發現登入不了,提示Could not connect to Redis at 127.0.0.1:6379: Connection refused
redis-cli預設登入的是6379埠)
3.檢視redis-cli命令
redis-cli --help
-h 登入遠端的機子
-p 跟的是埠
4.登入客戶端

redis-cli -h 127.0.0.1 -p 7200
redis-cli -h 127.0.0.1 -p 7200 -a "mypassword" 

之後可以輸入PING,如果出現PONG說明連線成功
5.info命令檢視資訊

五、Redis資料型別

2230140-7b9b8e733933c316.jpg
redis.jpg

1.設定string字串型別

2230140-5c29465f9f629913.png
redis-string.png

2.list列表(不要求集合中的元素是唯一的)
lpush 左邊推入,rpush 右邊推入
lpop 左邊推出 ,rpush右邊推出
llen求list總長度,重複元素計算在內

2230140-26f9232a8bfd1c47.png
redis-list.png

3.set集合使用無序的方式儲存多個不同的元素,對元素可以進行快速的新增、查詢和刪除;相同的元素只算一個。


2230140-e3f38caa615c3cd3.png
redis-set.png

4.Hash只要求鍵不一樣就是不同的條數


2230140-329bd5e84fe42227.png
redis-hash.png

5.sort set是有序分數集,型別儲存和hash一樣,都是一個對映。儲存的是分數與元素的對映。可以看成是排行榜。
value必須是全域性唯一。
隨著score變大,排名變大(即靠後)

1)value必須是全域性唯一
2)如果兩個元素的score一樣,則按兩個元素的字典順序排序


2230140-a0ec8d986487f3e2.png
redis-sort set.png
2230140-cb3fdcfc32b07fb7.png
redis-sort set1.png

相關文章