一、入門概述1.是什麼
Redis:REmote DIctionary Server(遠程字典伺服器) 是完全開源免費的,用C語言編寫的,遵守BSD協議,是一個高效能的(key/value)分布式記憶體資料庫,基於記憶體運行並支援持久化的NoSQL資料庫,是當前最熱門的NoSql資料庫之一,也被人們稱為資料結構伺服器。
Redis 與其他 key - value 緩衝產品(memcached)有以下三個特點:
1)持久化:Redis支援資料的持久化,可以將記憶體中的資料保持在磁碟中,重啟的時候可以再次載入進行使用
2)豐富資料結構:Redis不僅僅支援簡單的key-value類型的資料,同時還提供list,set,zset,hash等資料結構的儲存
3)資料備份:Redis支援資料的備份,即master-slave模式的資料備份
2.能幹嘛
1)記憶體儲存和持久化:redis支援非同步將記憶體中的資料寫到硬碟上,同時不影響繼續服務
2)取最新N個資料的操作,如:可以將最新的10條評論的ID放在Redis的List集合裡面
3)類比類似於HttpSession這種需要設定到期時間的功能
4)發布、訂閱訊息系統
5)定時器、計數器
3.去哪下
Http://redis.io/
Http://www.redis.cn/
4.怎麼玩
1 資料類型、基本操作和配置
2 持久化和複製,RDB/AOF
3 事務的控制
4. 複製
。。。 。。。
二、VMWare+VMTools千裡之行始於足下1.VMWare虛擬機器的安裝2.CentOS或者RedHad5的安裝
1)如何查看自己的linux是32位還是64位
getconf LONG_BIT
返回是多少就是幾位
2)假如出現了不支援虛擬化的問題
我的筆記本cpu是64位的,作業系統也是64位的,問題應該如虛擬機器右下角提示所說,
是“宿主機BIOS設定中的硬體虛擬化被禁用了。”
需要開啟筆記本BIOS中的IVT對虛擬化的支援。
找到菜單“Security”–“System Security”,
將Virtualization Technology(VTx)和Virtualization Technology DirectedI/O(VTd)設定為 Enabled。
儲存並退出BIOS設定,重啟電腦,
3.VMTools的安裝4.設定共用目錄5.上述環境都OK後開始進行Redis的伺服器安裝配置三、Redis的安裝1.Windows版安裝
Window 下安裝
:github.com/dmajkic/redis/downloads
下載到的Redis支援32bit和64bit。根據自己實際情況選擇,將64bit的內容cp到自訂盤符安裝目錄取名redis。 如 C:\reids
開啟一個cmd視窗 使用cd命令切換目錄到 C:\redis 運行 redis-server.exe redis.conf 。
如果想方便的話,可以把redis的路徑加到系統的環境變數裡,這樣就省得再輸路徑了,後面的那個redis.conf可以省略,
如果省略,會啟用預設的。輸入之後,會顯示如下介面:
這時候另啟一個cmd視窗,原來的不要關閉,不然就無法訪問服務端了。
切換到redis目錄下運行 redis-cli.exe -h 127.0.0.1 -p 6379 。
設定索引值對 set myKey abc
取出索引值對 get myKey
說明:
基本都會使用Linux
2.Linux版安裝
1)下載獲得redis-3.0.4.tar.gz後將它放入我們的Linux目錄/opt
2)/opt目錄下,解壓命令:tar -zxvf redis-3.0.4.tar.gz
3)解壓完成後出現檔案夾:redis-3.0.4
4)進入目錄:cd redis-3.0.4
5)在redis-3.0.4目錄下執行make命令
6)如果make完成後繼續執行make install
7)查看預設安裝目錄:usr/local/bin
Redis-benchmark:效能測試工具,可以在自己本子運行,看看自己本子效能如何
Redis-check-aof:修複有問題的AOF檔案,rdb和aof後面講
Redis-check-dump:修複有問題的dump.rdb檔案
Redis-cli:用戶端,操作入口
Redis-sentinel:redis叢集使用
Redis-server:Redis伺服器啟動命令
8)啟動
修改redis.conf檔案將裡面的daemonize no 改成 yes,讓服務在後台啟動
將預設的redis.conf拷貝到自己定義好的一個路徑下,比如/myconf
/usr/local/bin目錄下運行redis-server,運行拷貝出存放了自訂conf檔案目錄下的redis.conf檔案
關閉
單一實例關閉:redis-cli shutdown
多執行個體關閉,指定連接埠關閉:redis-cli -p 6379 shutdown
四、Redis啟動後雜項基礎知識講解 1.單進程
單進程模型來處理用戶端的請求。對讀寫等事件的響應
是通過對epoll函數的封裝來做到的。Redis的實際處理速度完全依靠主進程的執行效率
Epoll是Linux核心為處理大批量檔案描述符而作了改進的epoll,是Linux下多工IO介面select/poll的增強版本,
它能顯著提高程式在大量並發串連中只有少量活躍的情況下的系統CPU利用率。
2.預設16個資料庫,類似數組下表從零開始,初始預設使用零號庫
設定資料庫的數量,預設資料庫為0,可以使用SELECT <dbid>命令在串連上指定資料庫id
databases 16
3.Select命令切換資料庫4.Dbsize查看當前資料庫的key的數量5.Flushdb:清空當前庫6.Flushall;通殺全部庫7.統一密碼管理,16個庫都是同樣密碼,要麼都OK要麼一個也串連不上8.Redis索引都是從零開始9.為什麼預設連接埠是6379
6379在是手機按鍵上MERZ對應的號碼,而MERZ取自意大利歌女Alessia Merz的名字。MERZ長期以來被antirez及其朋友當作愚蠢的代名詞。Redis作者antirez同學在twitter上說將在下一篇博文中向大家解釋為什麼他選擇6379作為預設連接埠號碼。而現在這篇博文出爐,在解釋了Redis的LRU機制之後,向大家解釋了採用6379作為預設連接埠的原因。
參考資料:
《redis視頻》尚矽谷周陽