Redis 特性和應用場景

1. Redis特性

1)In-memory data structures

Redis 在內存中存儲數據,key 是 String, value 可以是 hash, list, set, sorted set, stream ...

MySQL主要是通過 “表” 的方式來存儲組織數據的 “關系型數據庫”

Redis主要是通過 “鍵值對” 的方式來存儲組織數據的 “非關系數據庫”

2)Programmability

針對 Redis 的操作,可以直接通過簡單的交互式命令進行操作

也可以通過一些腳本的方式,批量執行一些操作(可以帶有一些邏輯)

3)Extensibility

可以在 Redis 原有的功能基礎上再進行擴展,Redis 也提供了一組 API

4)Persistence

持久化 —— Redis 把數據存儲在內存上

內存中存儲的數據是易失的,進程退出/程序重啟 都會丟失

可以把 Redis 中的數據存儲在硬盤上,相當于備份。當程序重啟時,會加載硬盤中的數據,是 Redis 的內存恢復到重啟前的狀態

5)Clustering

Redis 作為一個分布式系統中的插件,能支持集群(類似于水平擴展,“分庫分表”)

一個 Redis 能存儲的數據是有限的(內存空間有限)

引入多臺主機,部署多個 Redis 節點,每個 Redis 存儲數據的一部分

6)High availability

高可用 —— 備份/冗余

Redis 自身支持 “主從” 結構,從節點相當于是主節點的備份

2. Redis 應用場景

1)緩存

緩存機制?乎在所有?型?站都有使用,合理地使用緩存不僅可以加速數據的訪問速度,而且能
夠有效地降低后端數據源的壓力。Redis 提供了鍵值過期時間設置,并且也提供了靈活控制最?內存和 內存溢出后的淘汰策略

2)排行榜

Redis 提供了列表和有序集合的結構,合理地使用這些數據結構可以很方便地構建各種排行榜系統

3)計數器

Redis 天然?持計數功能而且計數的性能也非常好

4)社交網絡

贊 / 踩、粉絲、共同好友 / 喜好、推送、下拉刷新等是社交網站的必備功能,由于社交網站訪問量
通常比較大,而且傳統的關系型數據不太合適保存這種類型的數據,Redis 提供的數據結構可以相對比較容易地實現這些功能

5)消息隊列

消息隊列系統可以說是?個大型網站的必備基礎組件,因為其具有業務解耦、非實時業務削峰等
特性。Redis 提供了發布訂閱功能和阻塞隊列的功能,雖然和專業的消息隊列比還不夠足夠強?,但是 對于?般的消息隊列功能基本可以滿足

3. Redis 運行快的原因探討

1)Redis 數據存儲在內存中,比訪問硬盤的數據庫要快很多

2)Redis 核心功能都是比簡單的邏輯(比較簡單的操作內存的數據結構)

3)從網絡的角度上,Redis 使用 IO 多路復用的方式(epoll),使用一個線程管理多個 socket

4)Redis 使用的是單線程模型(高版本引入多線程),單線程減少了不必要的線程之間的競爭開銷(Redis 的核心業務,主要是操作內存的數據結構,不會很消耗CPU)

多線程提高效率的前提是,CPU密集型任務

使用多個線程可以充分利用CPU多核資源

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/76648.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/76648.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/76648.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

每天五分鐘深度學習:非線性激活函數的導數

本文重點 本文探討了神經網絡中幾種常見非線性激活函數(Sigmoid、Tanh、ReLU、Leaky ReLU、ELU、Softmax)的導數特性。通過對各激活函數導數的數學推導與實際應用分析,揭示了不同激活函數在梯度傳播、收斂速度及模型表達能力方面的差異。研究發現,ReLU及其變體在計算效率與…

redis哨兵機制 和集群有什么區別:

主從: 包括一個master節點 和多個slave節點: master節點負責數據的讀寫,slave節點負責數據的讀取,master節點收到數據變更,會同步到slave節點 去實現數據的同步。通過這樣一個架構可以去實現redis的一個讀寫分離。提升…

關于讀完《毛澤東選集》的一些思考迭代

看完毛選前四卷,從革命初期一直講到抗戰勝利,共75.8W字,花費67個小時讀完。從1925年發表的“中國社會各階級的分析”,跨越100年,通過67個小時向主席學習到: 實事求是 從實踐中來再到實踐中去 用辯證與發展…

MySQL——MVCC(多版本并發控制)

目錄 1.MVCC多版本并發控制的一些基本概念 MVCC實現原理 記錄中的隱藏字段 undo log undo log 版本鏈 ReadView 數據訪問規則 具體實現邏輯 總結 1.MVCC多版本并發控制的一些基本概念 當前讀:該取的是記錄的最新版本,讀取時還要保證其他并發事務…

【Linux篇】深入理解文件系統:從基礎概念到 ext2 文件系統的應用與解析

文件系統的魔法:讓計算機理解并存儲你的數據 一. 文件系統1.1 塊1.2 分區1.3 inode(索引節點) 二. ext2文件系統2.1 認識文件系統2.2 Block Group (塊組)2.2.1 Block Group 的基本概念2.2.2 Block Group 的作用 2.3 塊組內部結構2.3.1 超級塊(Super Bloc…

3 VS Code 配置優化與實用插件推薦:settings.json 詳解、CodeGeeX 智能編程助手及插件離線安裝方法

1 優化 settings.json 文件 1.1 settings.json 簡介 settings.json 是 VS Code 的核心配置文件,用于存儲用戶的個性化設置和偏好。通過該文件,用戶可以自定義和覆蓋 VS Code 的默認行為,包括但不限于以下方面: 編輯器外觀&#…

【Java面試系列】Spring Cloud微服務架構中的分布式事務處理與Seata框架實現原理詳解 - 3-5年Java開發必備知識

【Java面試系列】Spring Cloud微服務架構中的分布式事務處理與Seata框架實現原理詳解 - 3-5年Java開發必備知識 1. 引言 在微服務架構中,分布式事務處理是一個復雜且常見的問題。隨著業務規模的擴大,單體應用逐漸拆分為多個微服務,每個服務…

力扣面試150題--有效的數獨

Day 19 題目描述 思路 其實還挺簡單的&#xff0c;主要的難點在于如何判斷每個小數獨是否滿足要求 詳細見代碼 class Solution {public boolean isValidSudoku(char[][] board) {HashSet<Character> set new HashSet<>();//處理行HashSet<Character> set1…

達夢數據庫-學習-15-大內存SQL相關視圖介紹

目錄 一、環境信息 二、介紹 三、數據字典表 1、V$MEM_POOL 2、V$SQL_STAT 3、V$SQL_STAT_HISTORY 4、V$LARGE_MEM_SQLS 5、V$SYSTEM_LARGE_MEM_SQLS 四、總結 一、環境信息 名稱值CPU12th Gen Intel(R) Core(TM) i7-12700H操作系統CentOS Linux release 7.9.2009 (Co…

從0到1使用C++操作MSXML

1. 引言 MSXML&#xff08;Microsoft XML Core Services&#xff09;是微軟提供的一套用于處理XML的COM組件庫&#xff0c;廣泛應用于Windows平臺的XML解析、驗證、轉換等操作。本文將詳細介紹如何從零開始&#xff0c;在C中使用MSXML解析和操作XML文件&#xff0c;包含完整的…

Windows 系統下用 VMware 安裝 CentOS 7 虛擬機超詳細教程(包含VMware和鏡像安裝包)

前言 資源 一、準備工作 &#xff08;一&#xff09;下載 VMware Workstation &#xff08;二&#xff09;下載 CentOS 7 鏡像 二、安裝 VMware Workstation&#xff08;比較簡單&#xff0c;按下面走即可&#xff09; 三、創建 CentOS 7 虛擬機 四、安裝 CentOS 7 系統…

應用安全系列之四十五:日志偽造(Log_Forging)之三

1、簡介 針對Java的日志系統有多種&#xff0c;本文主要描述如何通過修改配置文件來解決logback和log4j的日志偽造問題。 2、logback 2.1、系統提供的解決方案 在logback.xml中配置編碼器自動轉義特殊字符&#xff1a; 復制 <configuration><appender name"C…

(五)循環鏈表、雙向鏈表

循環鏈表 介紹 在單選鏈表基礎上&#xff0c;下一個節點指向前一個節點&#xff0c;最后一個節點指向起點 封裝循環鏈表 為了讓循環鏈表可以繼承自單向鏈表&#xff0c;對其進行重構 給其增加一個tail屬性&#xff08;尾節點&#xff09;&#xff0c;對各方法進行重寫整理 …

仙劍奇俠傳98柔情版游戲秘籍

戰斗秘技&#xff1a;在戰斗中輸入 “cheat”&#xff0c;然后輸入 “v” 直接取勝&#xff1b;輸入 “y” 敵人不攻擊。另外&#xff0c;在戰斗中按 “XJPXZ123” 加 “shift” 鍵&#xff0c;攻擊力增加 1000&#xff05;。等級提升秘籍&#xff1a;當李逍遙等級到達 99 級時…

常見的歸一化(Normalization)方法

本文詳解深度學習中常見的歸一化方法。 【歸一化是將數據按比例縮放&#xff0c;使之落入一個特定的區間】目錄 1. 批量歸一化&#xff08;Batch Normalization&#xff0c;BN&#xff09;1.1 數學原理1.2 代碼示例 2. 層歸一化&#xff08;Layer Normalization&#xff0c;LN&…

行星際激波在日球層中的傳播:Propagation of Interplanetary Shocks in the Heliosphere (參考文獻部分)

行星際激波在日球層中的傳播&#xff1a;Propagation of Interplanetary Shocks in the Heliosphere &#xff08;第一部分&#xff09;-CSDN博客 行星際激波在日球層中的傳播&#xff1a;Propagation of Interplanetary Shocks in the Heliosphere &#xff08;第二部分&…

大模型可視化應用敏捷開發方案:Dify+Echarts

大模型相關目錄 大模型&#xff0c;包括部署微調prompt/Agent應用開發、知識庫增強、數據庫增強、知識圖譜增強、自然語言處理、多模態等大模型應用開發內容 從0起步&#xff0c;揚帆起航。 Moe模式&#xff1a;或將是最好的大模型應用開發路徑一文帶你了解大模型RAG詳細記錄…

23種GoF設計模式

GoF&#xff08;Gang of Four&#xff09;設計模式是由四位計算機科學家 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著的書籍《Design Patterns: Elements of Reusable Object-Oriented Software》中提出的設計模式 目錄 一、創建型模式&#xff08;Cre…

Losson 4 NFS(network file system(網絡文件系統))

網絡文件系統&#xff1a;在互聯網中共享服務器中文件資源。 使用nfs服務需要安裝:nfs-utils 以及 rpcbind nfs-utils : 提供nfs服務的程序 rpcbind &#xff1a;管理nfs所有進程端口號的程序 nfs的部署 1.客戶端和服務端都安裝nfs-utils和rpcbind #安裝nfs的軟件rpcbind和…

C++ 入門六:多態 —— 同一接口的多種實現之道

在面向對象編程中&#xff0c;多態是最具魅力的特性之一。它允許我們通過統一的接口處理不同類型的對象&#xff0c;實現 “一個接口&#xff0c;多種實現”。本章將從基礎概念到實戰案例&#xff0c;逐步解析多態的核心原理與應用場景&#xff0c;幫助新手掌握這一關鍵技術。 …