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 8、WPF、Prism.DryIoc、MVVM設計模式、Blazor以及MySQL資料庫構建的企業級工作流系統的WPF客戶端框架-AIStudio.Wpf.AClient 6.0。 項目介紹 框架採用了 Prism 框架來實現 MVVM 模式,不僅簡化了 MVVM 的典型 ...
  • 先看一下效果吧: 我們直接通過改造一下原版的TreeView來實現上面這個效果 我們先創建一個普通的TreeView 代碼很簡單: <TreeView> <TreeViewItem Header="人事部"/> <TreeViewItem Header="技術部"> <TreeViewItem He ...
  • 1. 生成式 AI 簡介 https://imp.i384100.net/LXYmq3 2. Python 語言 https://imp.i384100.net/5gmXXo 3. 統計和 R https://youtu.be/ANMuuq502rE?si=hw9GT6JVzMhRvBbF 4. 數 ...
  • 本文為大家介紹下.NET解壓/壓縮zip文件。雖然解壓縮不是啥核心技術,但壓縮性能以及進度處理還是需要關註下,針對使用較多的zip開源組件驗證,給大家提供個技術選型參考 之前在《.NET WebSocket高併發通信阻塞問題 - 唐宋元明清2188 - 博客園 (cnblogs.com)》講過,團隊 ...
  • 之前寫過兩篇關於Roslyn源生成器生成源代碼的用例,今天使用Roslyn的代碼修複器CodeFixProvider實現一個cs文件頭部註釋的功能, 代碼修複器會同時涉及到CodeFixProvider和DiagnosticAnalyzer, 實現FileHeaderAnalyzer 首先我們知道修 ...
  • 在軟體行業,經常會聽到一句話“文不如表,表不如圖”說明瞭圖形在軟體應用中的重要性。同樣在WPF開發中,為了程式美觀或者業務需要,經常會用到各種個樣的圖形。今天以一些簡單的小例子,簡述WPF開發中幾何圖形(Geometry)相關內容,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 在 C# 中使用 RabbitMQ 通過簡訊發送重置後的密碼到用戶的手機號上,你可以按照以下步驟進行 1.安裝 RabbitMQ 客戶端庫 首先,確保你已經安裝了 RabbitMQ 客戶端庫。你可以通過 NuGet 包管理器來安裝: dotnet add package RabbitMQ.Clien ...
  • 1.下載 Protocol Buffers 編譯器(protoc) 前往 Protocol Buffers GitHub Releases 頁面。在 "Assets" 下找到適合您系統的壓縮文件,通常為 protoc-{version}-win32.zip 或 protoc-{version}-wi ...
  • 簡介 在現代微服務架構中,服務發現(Service Discovery)是一項關鍵功能。它允許微服務動態地找到彼此,而無需依賴硬編碼的地址。以前如果你搜 .NET Service Discovery,大概率會搜到一大堆 Eureka,Consul 等的文章。現在微軟為我們帶來了一個官方的包:Micr ...
  • ZY樹洞 前言 ZY樹洞是一個基於.NET Core開發的簡單的評論系統,主要用於大家分享自己心中的感悟、經驗、心得、想法等。 好了,不賣關子了,這個項目其實是上班無聊的時候寫的,為什麼要寫這個項目呢?因為我單純的想吐槽一下工作中的不滿而已。 項目介紹 項目很簡單,主要功能就是提供一個簡單的評論系統 ...