【Redis 1】Redis資料庫的學習與實踐—安裝與部署,redis學習與實踐
Redis資料庫的學習與實踐—安裝與部署一:Redis資料庫簡介:
Redis—Remote DictionaryServer,可以直接理解為遠程字典服務。
這裡摘抄一段Redis官網上的話似乎更能準確的概述Redis的含義:Redis is an open source,BSD licensed, advanced key-valuecache andstore.It is often referred to as adatastructure server since keys can containstrings,hashes,lists,sets,sorted sets,bitmapsandhyperloglogs.
Redis資料庫是一個高效能的key-value資料庫,Redis是完全開源免費的,遵守BSD協議,先進的key - value持久化產品。它通常被稱為資料結構伺服器,因為值(value)可以是字串(String),雜湊(Map),列表(list),集合(sets)和有序集合(sorted sets)等類型。這些資料類型都支援push/pop,add/remove及取交集和並集及更豐富的操作,Redis支援各種不同方式的排序。為了保證效率,資料都是緩衝在記憶體中,它也可以周期性的把更新的資料寫入磁碟或者把修改操作寫入追加的記錄檔案。
二:Redis資料庫使用場合:
目前全球最大的Redis使用者是新浪微博,在新浪有200多台物理機,400多個連接埠正在運行這Redis,有+4G的資料在Redis上來為新浪微博使用者提供服務。
在新浪微博Redis的部署情境很多,大概分為如下的兩種:
1:應用程式直接存取Redis資料庫;
2:應用程式直接存取Redis,只有Redis訪問失敗的時候才會訪問MySQL。
Redis資料庫提供多種靈活的資料結構和資料操作,為不同的大資料構建不同的資料結構。
具體的適用情境:
1:取最新N個資料的請求;
2:熱門排行榜應用,取TOP N操作;
3:需要精確設定到期時間的應用;
4:計數器應用;
5:Uniq操作,擷取某段時間所有資料排重值;
6:即時系統,反垃圾系統;
7:Pub/Sub(訂閱/發布)構建即時訊息系統;
8:構建隊列系統;
9:緩衝。
Redis,Mysql,MongoDB三種資料庫的比較:
不同\資料庫 |
Redis |
Mysql |
MongoDB |
1 |
庫 |
庫 |
庫 |
2 |
無 |
表 |
集合 |
3 |
無 |
欄位/行/列 |
無 |
三:Redis的安裝與部署:
1:下載,解壓和安裝:
在官網下載編譯後的,適用於64位Linux系統的redis-2.8.13.tar.gz,然後拷貝至Linux系統下,並執行下列命令:
#step1 $ tar zxvf redis-2.8.13.tar.gz $ mv redis-2.8.13 redis $ cd redis $ make #step2 $ cd redis/src $ make install |
2:啟動Redis:
Redis的預設連接埠是:6379
#啟動redis服務 $ cd redis $ cd redis/src $ redis-server #設定redis設定檔 $ cd redis $ sudo vim redis.conf |
3:修改設定檔和設定後台運行:
首先修改redis.conf檔案:
然後修改配置選項daemonize為yes,然後儲存退出
啟動redis,並設定設定檔:
$ redis-server /home/djy/toolkit/redis/redis.conf |
設定成功之後,驗證是否成功:
運行結果顯示如下:
djy 6262 2972 0 01:37 pts/1 00:00:00 redis-server *:6379 djy 9539 2972 0 02:00 pts/1 00:00:00 grep redis |
查看6379連接埠的狀態:
$ netstat –tunpl | grep 6379 |
4:進入Redis的用戶端redis-cli
運行後的結果如下,則表示進入用戶端成功:
djy@ubuntu:~/toolkit/redis/src$ redis-cli 127.0.0.1:6379> 127.0.0.1:6379> 127.0.0.1:6379> 127.0.0.1:6379> |
5:關閉redis-server
#第一種方式 $pkill redis-server #第二種方式 $redis-cli shutdown |
redis作為緩衝的問題
redis沒這功能,它只是key-value資料庫,緩衝得用程式存進redis裡。
Redis:在windows中安裝了redis,為何沒有儲存資料?
沒有開持久化機制
Redis本來就是記憶體資料庫,所以預設不會儲存到硬碟上。