Redis組件介紹(一)

来源:https://www.cnblogs.com/cjybigdatablog/p/18384831
-Advertisement-
Play Games

寫在前面 今天我們來學習一下 Redis 。Redis 是一個高性能的開源記憶體數據存儲系統,支持多種數據結構,如字元串、列表、集合、有序集合和哈希表。 NoSQL 概述 隨著大數據的興起,數據量的暴增,數據類型的豐富,傳統的關係資料庫在應付動態網站,特別是超大規模和高併發的純動態網站時已經顯得力不從 ...


寫在前面

今天我們來學習一下 Redis 。Redis 是一個高性能的開源記憶體數據存儲系統,支持多種數據結構,如字元串、列表、集合、有序集合和哈希表。

NoSQL 概述

隨著大數據的興起,數據量的暴增,數據類型的豐富,傳統的關係資料庫在應付動態網站,特別是超大規模和高併發的純動態網站時已經顯得力不從心,暴露了很多難以剋服的問題。例如:

  • 商城網站中對商品數據頻繁查詢
  • 對熱搜商品的排行統計
  • 訂單超時問題
  • 微信朋友圈(音頻,視頻)存儲等

傳統的關係型資料庫雖然可以實現相應功能,但在性能上並不理想。NoSQL 技術的出現解決了這些問題,它展示了世界上不僅僅存在 SQL 的可能性。

Redis 是一個高性能的開源記憶體數據存儲系統,支持多種數據結構,如字元串、列表、集合、有序集合和哈希表。它不僅用作資料庫,也常用於緩存和消息中間件。Redis 提供了豐富的功能,包括持久化數據、事務處理、發佈/訂閱機制以及高可用性支持。由於其單線程設計,Redis 在處理高併發請求時表現出色。

NoSQL 的四大分類

鍵值存儲資料庫

  • Tokyo Cabinet/Tyrant
  • Redis: 基於記憶體的數據存儲,運行在軟體 → 磁碟 → 記憶體中
  • SSDB: 基於磁碟的,直接與磁碟交互 → IO
  • Voldemort
  • Oracle BDB

列存儲資料庫

  • HBase
  • Cassandra
  • ClickHouse

文檔型資料庫

  • MongoDB
  • CouchDB
  • SequoiaDB: 國內的文檔型資料庫,已開源

圖形資料庫

  • Neo4J
  • InfoGrid
  • Infinite Graph
  • OSS

NoSQL 的應用場景

  • 數據模型比較簡單
  • 需要靈活性更強的 IT 系統
  • 對資料庫性能要求較高
  • 不需要高度的數據一致性(NoSQL 資料庫對事務的支持較差)

什麼是 Redis

Redis 是一個開源的記憶體型數據存儲,遵循 BSD 許可證。它被廣泛用於資料庫、緩存和消息中間件。總結來說,Redis 是一個記憶體型的資料庫。

Redis 特點

  • 高性能的 Key/Value 記憶體型資料庫
  • 支持豐富的數據類型:string, list, set, sorted set, hash
  • 支持持久化:將數據保存到磁碟
  • 單線程、單進程:線程安全性較高

下載與安裝

  1. 準備環境

    • VMware 12.x+
    • CentOS 7.x+
  2. 下載 Redis 源碼包

  3. 將下載的 Redis 源碼包上傳到 Linux 中

  4. 解壓縮文件

    tar -zxvf redis-7.0.10.tar.gz
    
  5. 安裝 GCC

    yum install -y gcc
    
  6. 進入解壓縮目錄,執行編譯命令

    yum install -y tcl
    make MALLOC=libc
    
  7. 編譯完成後,安裝 Redis

    make install PREFIX=/usr/local/soft/redis
    
  8. 啟動 Redis 服務

    ./usr/local/soft/redis/bin/redis-server
    

配置環境變數

/etc/profile 文件中添加:

export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
export REDIS_HOME=/usr/local/soft/redis
export PATH=.:$PATH:$JAVA_HOME/bin:$REDIS_HOME/bin

基本使用

  • 查看 Redis 進程

    ps -aux | grep redis
    
  • 進行客戶端連接操作

    ./redis-cli -h localhost -p 6379
    

    如果在同一臺機器上,可以省略主機和埠:

    ./redis-cli
    

Redis 中的庫

Redis 預設存在 16 個庫,編號從 0 到 15。可以使用 select 命令選擇一個庫。

  • 清空當前庫

    FLUSHDB
    
  • 清空全部庫

    FLUSHALL
    

Redis 客戶端顯示中文

./redis-cli -p 7000 --raw

操作 Key 相關指令

  • 刪除 Key

    DEL key [key ...]
    
  • 檢查 Key 是否存在

    EXISTS key [key ...]
    
  • 設置 Key 的過期時間(秒)

    EXPIRE key seconds
    
  • 查找所有符合給定模式的 Key

    KEYS pattern
    
  • 將 Key 移動到指定資料庫

    MOVE key db
    
  • 設置 Key 的過期時間(毫秒)

    PEXPIRE key milliseconds
    
  • 設置 Key 的過期時間戳(毫秒)

    PEXPIREAT key milliseconds-timestamp
    
  • 查看 Key 的剩餘生存時間(秒)

    TTL key
    
  • 查看 Key 的剩餘生存時間(毫秒)

    PTTL key
    
  • 隨機返回一個 Key

    RANDOMKEY
    
  • 重命名 Key

    RENAME key newkey
    
  • 查看 Key 的類型

    TYPE key
    

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

-Advertisement-
Play Games
更多相關文章
  • 寫在前面 今天來繼續學習 Redis。 Redis 持久化機制 快照 (Snapshot) 特點 快照持久化可以將某一時刻的所有數據寫入硬碟,預設開啟,保存為 .rdb 文件,也稱為 RDB 持久化。 快照生成方式 客戶端方式 BGSAVE 使用 BGSAVE 命令創建快照,Redis 會創建一個子 ...
  • Redis概述安裝與基本數據類型 1. 什麼是NoSQL NoSQL( Not Only SQL ),意即不僅僅是SQL, 泛指非關係型的資料庫。Nosql這個技術門類,早期就有人提出,發展至2009年趨勢越發高漲。 2. NoSQL的廣泛應用 隨著大數據的興起,數據量的暴增,數據類型的豐富,傳統的 ...
  • CRISP-DM是一個數據挖掘項目規劃的開放標準流程框架模型,主要分為業務理解、數據理解、數據準備、建模、評估、部署六個階段。 ...
  • 寫在前面 今天我們繼續學習 Redis。 Redis 常用數據類型 在 Redis 中,每個存儲的鍵值對中,鍵是 String 類型,值可以是不同的數據類型。Redis 的索引是含頭含尾的。 String 記憶體模型 常用指令 設置值 SET key value: 設置一個 key/value。 MS ...
  • 一開始沒有讓自我介紹,三個項目問了兩個,就是介紹一下項目,技術棧是哪些,整個項目流程是怎麼樣的,然後提出了一些優化問題,主要是資料庫資料庫方面的,還有網路通信,總體難度自我感覺中等偏上,八股幾乎沒問,我把面試過程中基本上問到的所有問題都整理了在下麵了,附上答案,如有問題請指出。 1. 資料庫使用uu ...
  • 通過 T-SQL 語句來添加、刪除或修改鏈接伺服器配置 進行跨資料庫、跨實例或甚至跨資料庫系統的數據集成和查詢 SELECT * FROM sysservers 可以查出當前 SQL Server 實例上配置的所有鏈接伺服器的列表及其相關信息 示例使用 Transact-SQL 創建與其他 SQL ...
  • 近年來,政府將數據要素納入了經濟發展的重要指示性文件當中,數據作為一種新型生產要素,已經成為第五大生產要素。 要實現數據要素的市場效能,真正發揮數據生產要素的作用,離不開數據資產化,而數據資產化自然也離不開數據資產管理這一基礎工作。數據資產管理是釋放數據要素價值、推動數據要素市場發展的重要前提。 全 ...
  • 最近在看Apache DolphineScheduler,發現DolphinScheduler在處理任務時,通過先將任務快速的存儲在資料庫中,然後基於對應的Task,將Task放入隊列中,然後將Task進行快速消費的思路。 這種模型在很多框架中,都有體現。 我們知道在Master模塊時處理任務的核心 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...