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
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...