Redis(二):Redis入門介紹

来源:https://www.cnblogs.com/peter1018/archive/2018/10/09/9761871.html
-Advertisement-
Play Games

入門概述 是什麼 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

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.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

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Mongodb是近年來很火的一個非關係型資料庫,不少企業都用來做部分業務模塊數據的擴展存儲,這裡我 總結了一些Mongodb的基本使用,作為分享,也方便自己以後需要的時候查詢使用。 1. 創建資料庫 use databaseName 選擇一個資料庫,如果資料庫不存在就自動創建一個資料庫 只有向資料庫 ...
  • 什麼是 Redis Redis 是一個使用 編寫的開源、支持網路協議、基於記憶體、可選持久性的鍵值對資料庫,它是一個 not only sql)資料庫,也就是常說的非關係型資料庫。從 2005 年開始,Redis 的開發由 Redis Labs 贊助,之前一直被 Pivotal 和 VMware 先後 ...
  • 事務的隔離級別其實是SQL語言的標準,這裡我就以自己比較常用的MySQL資料庫為例進行介紹。 關於關係型資料庫和非關係型資料庫的對比,我之前寫過一篇文章簡單地作了一些介紹,隔離級別是ACID原則中的第三點 Isolation隔離性的重要內容。 有興趣的讀者可以出門左轉,查看我之前的隨筆。 好了,先上 ...
  • orcl中months_between()函數用法如下: 格式:即MONTHS_BETWEEN(日期1,日期2) 例如: select months_between(to_date('2018-10-9','yyyy-mm-dd'),to_date('2017-10-09','yyyy-mm-dd' ...
  • ...
  • 在sql的優化中,會有同學提到一點:使用enum欄位類型,代替其他tinyint等類型。以前這也是不少人喜歡優化的,但是現在細想,是非常不合理的。 優點: 1.可以設置區間範圍,比如設置性別:1男2女3未知。如果這是出現一個非1、2、3類型的,一眼就是臟數據了。 缺點: 1.數據遷移的時候,他幾乎不 ...
  • 環境: create table rq (xm varchar2(10),age number,zw varchar(10),rzrq date);insert into rq values ('小崔',23,'運維工程師',(to_date('2017-07-02','yyyy-mm-dd'))) ...
  • 摘要: 下文通過sql函數的形式,獲取指定月份的總天數 實驗環境:sqlserver 2008 R2 製作思路: 1. 獲取指定月份的第一天, 2. 並採用dateadd向後加一個月形成一個新的日期 3. 將兩個日期相減,並返回之間的相差天數,作為指定月份的總天數,如下所示: 轉自:http://w ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...