目錄
redis介紹
Remote Dictionary Server(Redis) 是一個開源的由Salvatore Sanfilippo使用ANSI C語言編寫的key-value數據存儲服務器。其值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等類型,所以它通常也被稱爲數據結構服務器。
Redis之父--Salvatore Sanfilippo
redis屬於NoSQL數據庫,NoSQL數據庫叫非關係型數據庫,(NoSQL = Not Only SQL ),意即"不僅僅是SQL"。我們一直以來都是使用關係型數據庫如mysql、Oracle,而非關係型數據NoSQL的提出是一項全新的數據庫革命性運動,最早出現是在1998年,到2009年這個概念被空前討論、發展和繁榮。這也是由於web2.0的發展,社交、互動等應用的發展,讓人們重新思考
redis常用的5種基本數據結構
- String: 字符串
- Hash: 散列
- List: 列表
- Set: 集合
- Sorted Set: 有序集合
數據存儲模型: key-value存儲
文檔存儲
MongoDB
CouchDB
列存儲
Hbase
Cassandra
Redis :REmote DIctionary Server遠程字典服務器
NOSQL數據庫四大分類 :KV鍵值(Redis)、文檔數據庫(MongoDB、CouchDB)、列存儲數據庫(HBase、Cassandra)、圖關係數據庫(Neo4J、InfoGrid)
NoSQL的CAP分別是:C(Consistency)強一致性、A(Availability)可用性、P(Partition tolerance)分區容錯性。
(三選二,只能同時滿足兩個) (NOSQL的P必須實現,所以NoSQL必須在C和A之間權衡)
注:Redis的代碼託管在GitHub上https://github.com/antirez/redis,開發十分活躍,代碼量只有3萬多行。
知識拓展
(四個同時全部滿足)傳統數據庫的的ACID分別是:A(Atomicity)原子性、C(Consistency)一致性、I(Isolation)獨立層、D(Durability)持久層
BASE(簡寫)爲了解決數據庫強一致性的問題。
分佈式:不同的多臺服務器上面部署不同的服務模塊(工程),之間通過RPC/Rmi 通信和調用,對外提供服務和組內協作。
集羣:不同的多臺服務器上面部署相同的服務模塊,通過分佈式調度軟件進行統一的調度,對外提供服務和協作。
redis下載
官網:https://redis.io/
下載:LInux下直接在線下載:
wget http://219.238.7.66/files/502600000A29C8D5/download.redis.io/releases/redis-3.2.9.tar.gz
windows版本:https://github.com/MSOpenTech/redis/releases
redis 安裝
解壓:tar -zxvf redis-3.2.9.tar.gz
切換目錄: cd redis-3.2.9,執行命令:make
make命令執行過程中可能報錯,根據控制檯輸出的錯誤信息進行解決
錯誤一:gcc命令找不到,是由於沒有安裝gcc導致
gcc是GNU compiler collection的縮寫,它是Linux下一個編譯器集合,
是c或c++程序的編譯器。
使用yum進行安裝,命令:yum -y install gcc
錯誤二: error: jemalloc/jemalloc.h: No such file or directory
內存分配器使用libc
執行 make MALLOC=libc
注意:安裝完gcc之後,再執行make,先執行 make distclean 清理一下上次make後產生的文件
有人在make執行之後再執行 make install,該操作則將 src下的許多可執行文件複製
到/usr/local/bin 目錄下
(可以不用執行,但你也可以執行,我一般不執行)
redis 啓動
切換到 redis-3.2.9/src/ 目錄執行命令
後臺啓動:./redis-server &
後臺啓動並輸出日誌到nohup.out文件:nohup /usr/local/redis-3.2.9/src/redis-server &
redis關閉
切換到 redis-3.2.9/src/ 目錄執行:./redis-cli shutdown
kill pid 或者 kill -9 pid
kill殺掉進程這種方式比較粗暴
你知道的越多,你不知道的越多。
有道無術,術尚可求,有術無道,止於術。
如有其它問題,歡迎大家留言,我們一起討論,一起學習,一起進步