Redis緩存資料庫(一)

来源:https://www.cnblogs.com/yonghome/archive/2019/12/26/redis1.html
-Advertisement-
Play Games

先導知識:Memcache Memcache是一個高性能的分散式記憶體對象緩存系統,代碼類似於Hash。 已經有了Memcache,為什麼還要用Redis呢? 下麵Memcache的缺點: 不支持數據持久化存儲 不支持主從 不支持分片 而對比Redis資料庫,以上三點都支持,所以要使用redis。 問 ...


先導知識:Memcache

Memcache是一個高性能的分散式記憶體對象緩存系統,代碼類似於Hash。

已經有了Memcache,為什麼還要用Redis呢?

下麵Memcache的缺點:

  • 不支持數據持久化存儲
  • 不支持主從
  • 不支持分片

而對比Redis資料庫,以上三點都支持,所以要使用redis。

 問題一:為什麼redis能這麼快?

  Redis的訪問速度可達 10萬+QPS(query per second,每秒內查詢次數)。

  1. 完全基於記憶體:絕大部分請求是純粹的記憶體操作,不受限於硬碟讀取速度,故而執行效率高
  2. 數據結構簡單,是(key,value)形式,對數據的操作也簡單
  3. 採用單線程也能處理高併發請求
  4. 相對於傳統的阻塞I/O,Redis使用多路I/O復用模型,非阻塞I/O
  5. 具有原子性操作。
問題二:Redis採用的多路I/O復用函數?

  多路I/O復用函數有:epoll、kqueue、evport、select    鏈接:多路I/O復用技術

  1. 因地制宜,有的系統只有select
  2. 優先選擇時間複雜度為O(1)的函數作為底層實現
  3. 以時間複雜度為O(n)的select作為保底
  4. 基於reactor設計模式監聽I/O事件
 問題三:Redis的數據類型有哪些?(重點!!)
  1. string:最基本的數據類型,二進位安全,可以存儲任何格式的數據(jpg圖片,序列化的對象)
  2. hash:string元素組成的字典,適合用於存儲對象
  3. list:列表,特點:先進先出、有序(按添加順序)、可重覆
  4. set:string元素組成的無序集合,通過hash實現,不允許重覆
  5. sorted set:通過分數來為集合的成員進行從小到大的排序
  6. 用於計數的HyperLogLog
  7. 用於支持存儲地理位置信息的Geo
Redis的底層數據類型基礎:

  1、簡單動態字元串;2、鏈表;3、字典;4、跳躍表

  5、整數集合;6、壓縮列表;7、對象


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

-Advertisement-
Play Games
更多相關文章
  • 搭建模擬環境: 操作系統:centos7記憶體:1Gjdk:1.8.0_131tomcat:8.0.48 環境準備我們這裡就不直接演示了,直接配置tomcat的jmx 1、進入到tomcat的bin目錄下 # cd /opt/tomcat/apache-tomcat-8.0.48/bin/ 2、編輯配 ...
  • 一、Linux環境搭建 1.安裝虛擬機軟體(VMWare,Parallel) 虛擬機的作用:將本來不是適合當前操作系統的分區虛擬化成適合當前操作系統的分區格式 2.新建虛擬機: 類似買了一臺新的電腦,和當前Windows操作系統沒有關係 3.在虛擬機上安裝Linux操作系統: 類似在裸機上安裝Win ...
  • TAMU是由瑞典烏普薩拉的Ångström航空航天公司(ÅAC)開發的高級磁力計子系統。TAMU的目的是提供地球磁場的磁力計數據,以便與子畫面觀測相關。實驗性TAMU由使用領先技術製造的四種類型的設備組成:3軸地磁感測器,通過3D封裝系統技術製造的MPU晶元,製造的4Mbit MRAM(磁性隨機存取 ...
  • 1.查看防火牆狀態 查看防火牆狀態 systemctl status firewalld 開啟防火牆 systemctl start firewalld 關閉防火牆 systemctl stop firewalld 開啟防火牆 service firewalld start 若遇到無法開啟 先用:s ...
  • 本文轉載自:小豆芽博客 一、對CPU進行簡單測試: 1、通過bc命令計算特別函數 例:計算圓周率 echo "scale=5000; 4*a(1)" | bc -l -q MATH LIBRARY If bc is invoked with the -l option, a math library ...
  • 眾所周知,i.MXRT系列內部沒有非易失性存儲器,但內部SRAM還是必備的,這個SRAM可用於存放data、Stack、Heap段或者Non-XIP代碼text段等。我們知道Cortex-M7架構引入了TCM屬性的靜態記憶體,以Cortex-M7為內核的i.MXRT當然要支持TCM,除了TCM之外,i... ...
  • 前言 一邊有一個經常引誘我讓我“娛樂至死”的視頻,還有一個不停“鞭策“我讓我快點學習的大BOSS。正是有這兩種 才讓我常常在自信中明白自己努力的方向。嗯,"人間不值得"! SCHEMA.XML介紹 上一篇寫了:資料庫中間件DBLE學習(一) 基本介紹和快速搭建,主要介紹快速安裝。在安裝的過程中,我們 ...
  • select count(1) from 表a //查詢時會對常數列進行統計行數select count(*) from 表a //查詢時會找表a中最短的列進行統計行數 因為使用count(*)查詢會有一個找尋最短列的過程,從效率上講會慢一些,雖然不明顯,但是一般我們使用count(1)查詢就可以了 ...
一周排行
    -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# ...