NoSQL——Redis簡介、安裝、配置
一、Redis資料庫基礎瞭解
Redis簡介:
REmote DIctionary Server(Redis) 是一個由Salvatore Sanfilippo寫的key-value儲存系統。Redis是一個開源的使用ANSI C語言編寫、遵守BSD協議、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。它通常被稱為資料結構伺服器,因為值(value)可以是 字串(String), 雜湊(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等型別。從2010年3月15日起,Redis的開發工作由VMware主持。從2013年5月開始,Redis的開發由(做大資料的公司)贊助。
Redis的特點:
- 記憶體資料庫,速度快,也支援資料的持久化,可以將記憶體中的資料儲存在磁碟中,重啟的時候可以再次載入進行使用。
- Redis不僅僅支援簡單的key-value型別的資料,同時還提供list,set,zset,hash等資料結構的儲存。
- Redis支援資料的備份,即master-slave模式的資料備份。
- 支援事務
Redis的優勢:
- 效能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。
- 豐富的資料型別 – Redis支援二進位制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 資料型別操作。
- 原子 – Redis的所有操作都是原子性的,同時Redis還支援對幾個操作合併後的原子性執行。(事務)
- 豐富的特性 – Redis還支援 publish/subscribe, 通知, key 過期等等特性。
Redis應用場景:
- 用來做快取(ehcache / memcached)——redis的所有資料是存放在記憶體中的(記憶體資料庫)
- 可以在某些特定應用場景下替代傳統的資料庫——比如社交類的應用
- 在一些大型系統中,巧妙地實現一些特定的功能:session共享、購物車
- 只要你有豐富的想象力,redis可以給你無限的驚喜....
二、Redis安裝
1、在ubuntu虛擬機器中安裝Redis,首先獲取安裝包:
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
2、解壓安裝包
tar -zxvf redis-3.2.8.tar.gz
3、複製,放到/usr/local目錄下:
sudo mv ./redis-3.2.8 /usr/local/redis
4、進入redis目錄,原始碼生成(make)
sudo make
5、測試,這段執行時間會比較長
sudo make test
6、安裝,將Redis的命令安裝到/usr/bin目錄
sudo make install
7、安裝完後,進入目錄/usr/bin中檢視
8、配置檔案移動到/etc目錄下
配置檔案為:/usr/local/redis/redis.conf
- sudo /usr/local/redis/redis.conf /etc/redis/
三、Redis配置
1、繫結ip,如果需要遠端訪問,可以將此行註釋,或繫結一個真實的ip
bind 127.0.0.1
2、埠,預設為6379
port 6379
3、是否是守護程序執行
- 如果是以守護程序執行,則不會在命令列阻塞,類似於服務
- 如果是以非守護程序執行,則當前終端被阻塞
- 設定為yes表示守護程序,設定為no表示非守護程序
- 推薦設定為yes
- daemonize yes(安裝時預設為no)
4、資料檔案(指定資料持久化時寫到哪一個檔案中)
dbfilename dump.rdb
5、資料檔案儲存路徑
dir /var/lib/redis (因為此時該目錄還沒有,需要提前建立)
6、日誌檔案
logfile /var/log/redis/redis-server.log(提前建立/var/log/redis目錄)
7、資料庫,預設有16個
database 16
8、主從複製,類似於雙機備份
slaveof(一般不用,設定主從情況下才配置)
四、Redis啟動服務端和客戶端
1、伺服器端
注:按照之前的步驟安裝的redis是不能用service命令去啟動、停止、重啟服務的
(1)啟動
sudo service redis start
(2)停止
sudo service redis stop
(3)重啟
sudo service redis restart
按照以上步驟安裝配置完redis後,啟動服務做法:
sudo redis-server /etc/redis/redis.conf 指定載入的配置檔案
關閉服務做法:
ps -ef | grep redis
kill -9 pid 殺死對應程序
2、客戶端
客戶端的命令為 redis-cli
(1)連線redis
redis-cli
(2)執行測試命令
(3)切換資料庫
資料庫沒有名稱,預設有16個數據庫,通過0~15來標識,連線redis預設選擇第一個資料庫:select n