標籤:nosql資料庫 redis ubuntu nosql 並發
一、Redis的簡介:
NoSql 及No Only SQL,是高並發,超大資料存在,不同於關係型資料庫。擁有:非關係型,分布式,開源的,可水平擴充。
Redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value類型相對更多,包括string(字串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(雜湊類型)。這些資料類型都支援push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支援各種不同方式的排序。與memcached一樣,為了保證效率,資料都是緩衝在記憶體中。區別的是redis會周期性的把更新的資料寫入磁碟或者把修改操作寫入追加的記錄檔案,並且在此基礎上實現了master-slave(主從)同步。
二、Redis的適用情境:
1. 對資料高並發讀寫。
2. 對海量資料的高效率儲存和訪問。
3. 對海量的高可擴充和高可用性。
三、開發適用Redis的場合:
1. 取最新N個資料的操作。
2. 熱門排行榜應用,擷取Top N的操作
3. 需要精確設定到期時間的應用
4. 計數器應用
5. Unique操作,擷取某段時間所有資料排重值
6. 即時系統,反垃圾系統
7. Pub/Sub構建即時訊息系統
8. 構建隊列系統
9. 快取資料
四、Redis在Ubuntu中的部署
相關Redis的下載:http://redis.io/download
部署
下載編譯: wget http://download.redis.io/releases/redis-2.8.19.tar.gz
tar xzvf redis-2.8.19.tar.gz
cd redis-2.8.19
make
安裝,進入redis-2.8.19的src安裝:
cd src
sudo make install
在/usr/local下建立redis/bin(存放執行檔案)目錄和redis/etc(存放設定檔):
sudo mkdir -p /usr/local/redis/bin
sudo mkdir -p /usr/local/redis/etc
移動redis-2.8.19下的redis.conf 到/usr/local/redis/etc目錄下:
sudo mv ./redis.conf /usr/local/redis/etc/
將src下的所有綠色的可執行檔命令移動到/usr/local/redis/bin/目錄下:
sudo mv mkreleasehdr.sh redis-cli redis-benchmark redis-check-aof redis-check-dump redis-server redis-sentinel /usr/local/redis/bin/
啟動redis
cd /usr/local/redis/bin
redis-server /usr/local/redis/etc/redis.conf
關閉reids
pkill redis-server 或kill -pid(redis的進程id)
用戶端的關閉
/usr/local/redis/bin/redis-cli shutdown
查看redis是否啟動
1 ps -ef | grep redis
2 netstat -tunpl | grep 6379
3 用用戶端串連 /usr/local/redis/bin/redis-cli
開啟效果如下:
五、redis的配置
daemonize 如果需要後台運行,設定yes
pidfile 配置多個pid的地址,預設在var/run/redis.pid
bind 綁定ip,設定後只接受來自來ip的請求
port 監聽連接埠 預設6379
timeout 設定用戶端串連的逾時時間,單位為秒
loglevel 日誌等級 有4層級 , debug verbose notice warning
logfile 配置log檔案地址
databases 設定資料庫的個數,預設使用的是資料庫為0,一共16個從0-15
save 設定redis進行資料庫鏡像的頻率
rdbcompression 在進行鏡像備份時,是否進行壓縮
Dbfilename 鏡像備份檔案放置路徑
Slaveof 設定資料庫為其他資料庫的資料庫
Masterauth 主要資料庫連結需要的驗證密碼
Requirepass 設定登入時需要的使用密碼
Maxclients 設定同時串連的客戶數量
Maxmemory 設定redis能夠使用的最大記憶體
Appendonly 開啟append only模式
NoSql資料庫Redis的在ubuntu下的部署使用