Redis(二):Redis入門介紹

Redis入門介紹目錄導航:html

  • 入門概述
  • 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位的,問題應該如虛擬機右下角提示所說,linux

是「宿主機BIOS設置中的硬件虛擬化被禁用了。」須要打開筆記本BIOS中的IVT對虛擬化的支持。找到菜單「Security」–「System Security」,將Virtualization Technology(VTx)和Virtualization Technology DirectedI/O(VTd)設置爲 Enabled。保存並退出BIOS設置,重啓電腦,c++

  • 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能夠省略,
若是省略,會啓用默認的。輸入以後,會顯示以下界面:git

  • 重要提示:

  • 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

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

        • Redis Test(能夠不用執行)

 

下載TCL的網址:http://www.linuxfromscratch.org/blfs/view/cvs/general/tcl.htmlgithub

安裝TCLredis

    • 若是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
相關文章
相關標籤/搜索