入門概述 是什麼 Redis:REmote DIctionary Server(遠程字典伺服器) Redis:REmote DIctionary Server(遠程字典伺服器) 是完全開源免費的,用C語言編寫的,遵守BSD協議,是一個高性能的(Key/Value)分散式記憶體資料庫,基於記憶體運行並支持 ...
Redis入門介紹目錄導航:
- 入門概述
- VMWare + VMTools千里之行始於足下
- Redis的安裝
- Redis啟動後雜項基礎知識講解
入門概述
- 是什麼
- Redis:REmote DIctionary Server(遠程字典伺服器)
-
- 是完全開源免費的,用C語言編寫的,遵守BSD協議,是一個高性能的(Key/Value)分散式記憶體資料庫,基於記憶體運行並支持持久化的NoSQL資料庫,是當前最熱門的NoSQL資料庫之一,也被人民稱為數據結構伺服器。
- Redis 與其他 Key - Value 緩存產品有以下三個特點
- Redis支持數據的持久化,可以將記憶體中的數據保存到磁碟中,重啟的時候可以再次載入進行使用
- Redis不僅僅支持簡單的Key-Value類型的數據,同時還提供list、set、zset、hash等數據結構的存儲
- Redis支持數據的備份,即master-slave模式的數據備份
- 能幹嘛
- 記憶體存儲和持久化:Redis支持非同步將記憶體中的數據寫到硬碟上,同時不影響繼續服務
- 取最新N個數據的操作,如:可以將最新的10條評論的ID放在Redis的List集合裡面
- 模擬類似於HttpSession這種需要設定過期時間的功能
- 發佈、訂閱消息系統
- 定時器、計數器
- 去哪下
- https://redis.io/
- http://www.redis.cn/
- 怎麼玩
- 數據類型、基本操作和配置
- 持久化和複製,RDB/AOF
- 事務的控制
- 複製
- ......
VMWare+VMTools千里之行始於足下
- VMWare虛擬機的安裝
- CentOS或者RedHad5的安裝
- 如何查看自己的Linux是32位還是64位
getconfig LONG_BIT 返回是多少就是幾位
-
- 假如出現了不支持虛擬化的問題
我的筆記本cpu是64位的,操作系統也是64位的,問題應該如虛擬機右下角提示所說,
是“宿主機BIOS設置中的硬體虛擬化被禁用了。”需要打開筆記本BIOS中的IVT對虛擬化的支持。找到菜單“Security”–“System Security”,將Virtualization Technology(VTx)和Virtualization Technology DirectedI/O(VTd)設置為 Enabled。保存並退出BIOS設置,重啟電腦,
- VMTools的安裝
- 設置共用目錄
- 上述環境都OK後開始進行Redis的伺服器安裝配置
Redis的安裝
- Windows版安裝
Window 下安裝
下載地址:https://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可以省略,
如果省略,會啟用預設的。輸入之後,會顯示如下界面:
- 重要提示:
- Linux版安裝
- 下載獲得redis-3.0.4.tar.gz後將它放入我們的Linux目錄/opt
- /opt目錄下,解壓命令:tar -zxvf redis-3.0.4.tar.gz
- 解壓完成後出現文件夾:redis-3.0.4
-
- 進入目錄:cd redis-3.0.4
-
- 在redis-3.0.4目錄下執行make命令
- 運行make命令時故意出現的錯誤解析:
- 安裝gcc
- 運行make命令時故意出現的錯誤解析:
- 在redis-3.0.4目錄下執行make命令
gcc是linux下的一個編譯程式,是C程式的編譯工具。
GCC(GNU Compiler Collection) 是 GNU(GNU's Not Unix) 計劃提供的編譯器家族,它能夠支持 C, C++, Objective-C, Fortran, Java 和 Ada 等等程式設計語言前端,同時能夠運行在 x86, x86-64, IA-64, PowerPC, SPARC 和 Alpha 等等幾乎目前所有的硬體平臺上。鑒於這些特征,以及 GCC 編譯代碼的高效性,使得 GCC 成為絕大多數自由軟體開發編譯的首選工具。雖然對於程式員們來說,編譯器只是一個工具,除了開發和維護人員,很少有人關註編譯器的發展,但是 GCC 的影響力是如此之大,它的性能提升甚至有望改善所有的自由軟體的運行效率,同時它的內部結構的變化也體現出現代編譯器發展的新特征。
-
-
-
-
- 能上網:yum install gcc-c++
- 不上網:
- 二次make
- Jemalloc/jemalloc.h:沒有那個文件或目錄
- 運行make distclean之後再make
- 運行make distclean之後再make
-
-
-
-
-
-
- Redis Test(可以不用執行)
-
-
下載TCL的網址:http://www.linuxfromscratch.org/blfs/view/cvs/general/tcl.html
安裝TCL
-
- 如果make完成後繼續執行make install
-
- 查看預設安裝目錄:usr/local/bin
-
- Redis-benchmark:性能測試工具,可以在自己本子運行,看看自己本子性能如何
- 服務啟動起來後執行
- Redis-check-aof:修複有問題的AOF文件,rdb和aof後面講
- Redis-check-dump:修複有問題的dump.rdb文件
- Redis-cli:客戶端,操作入口
- Redis-sentinel:redis集群使用
- Redis-server:Redis伺服器啟動命令
- 啟動
-
-
- 修改redis.conf文件將裡面的daemonize no 改成 yes,讓服務在後臺啟動
- 將預設的redis.conf拷貝到自己定義好的一個路徑下,比如/myconf
- 啟動
-
-
-
- 連通測試
-
-
-
- /usr/local/bin目錄下運行redis-server,運行拷貝出存放了自定義conf文件目錄下的redis.conf文件
- 永遠的helloworld
-
-
- 關閉
-
-
- 單實例關閉:redis-cli shutdown
- 多實例關閉,指定埠關閉:redis-cli -p 6379 shutdown
-
Redis啟動後雜項基礎知識講解
- 單進程
-
單進程模型來處理客戶端的請求。對讀寫等事件的響應是通過對epoll函數的包裝來做到的。Redis的實際處理速度完全依靠主進程的執行效率
-
Epoll是Linux內核為處理大批量文件描述符而作了改進的epoll,是Linux下多路復用IO介面select/poll的增強版本,它能顯著提高程式在大量併發連接中只有少量活躍的情況下的系統CPU利用率。
- 預設16個資料庫,類似數組下表從零開始,初始預設使用零號庫
- 設置資料庫的數量,預設資料庫為0,可以使用SELECT <dbid>命令在連接上指定資料庫id databases 16
- Select命令切換資料庫
- Dbsize查看當前資料庫的key的數量
- Flushdb:清空當前庫
- Flushall;通殺全部庫
- 統一密碼管理,16個庫都是同樣密碼,要麼都OK要麼一個也連接不上
- Redis索引都是從零開始
- 為什麼預設埠是6379