iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0
影片教學

下班後學 Redis 和 Docker 系列 第 2

【下班後學 Redis 和 Docker】EP02 - SQL 和 Redis 的資料結構

  • 分享至 

  • xImage
  •  

Yes


因為有一點突發狀況,大概就發完庫存的十篇之後,可能就不繼續鐵人賽了。
等我忙完現在的事情,影片會再繼續更新~

打給賀挖喜結語 JYu
新手上路,有任何問題歡迎討論

聯絡我:jk29666338@gmail.com
關於好想工作室:https://jyu1999.com/categories/goodidea-mind/

=====================================
(以下內容由 ChatGPT 生成,並經過少量修改)

嗨,大家好!我是結語 JYu,歡迎來到這個下班後學 Redis 和 Docker 的第二部影片。在這部影片中,我將簡單介紹什麼是 Database,以及它在系統中的作用,以及常見的分類。接著,我將介紹關聯式資料庫的資料結構和 Redis 所使用的資料結構,以及它們各自的好處和資料存取方式。

首先,讓我們回顧上一部影片,我們講解了單一伺服器架構。現在,讓我們想象一下,如果我們需要為網站提供用戶登入功能,我們應該怎麼做?

第一步是讓用戶從伺服器獲取登入頁面。使用者可能會向伺服器發送一個 GET 請求,例如 jyu1999.com/login,然後獲取登入頁面的程式碼。

一旦使用者看到這個頁面,他們將需要輸入他們的帳號和密碼,然後按下登入按鈕。當帳號和密碼輸入完畢後,這些數據將被傳送到伺服器進行驗證,並將結果返回給瀏覽器,通知使用者登入是否成功。

但是,我們如何知道帳號和密碼是否存在以及是否正確呢?這就需要一個地方來存儲這些信息,這個地方被稱為資料庫(Database)。

資料庫通常被想象成一個圓筒形容器,特別是在小型公司或資料量較小的情況下,資料庫通常會放在伺服器內部,例如本地安裝的 MySQL 或 Postgres SQL 服務。

然而,隨著公司業務的擴展,資料庫需要單獨擴展,並且可能需要獨立的伺服器來管理和存取資料。當伺服器需要存取或驗證資料時,它會統一與資料庫進行交互,並根據需要檢索所需的資料。

現在,讓我們來談談資料庫的兩大分類,即SQL和NoSQL。

SQL資料庫通常稱為關聯式資料庫,類似於Excel試算表或表格,其中每一行代表一個實體,例如個人,並包含多個屬性,例如姓名、身高、體重等。這種結構適用於許多企業的需求,並且經過了長時間的發展,因此相對穩定。

然而,在某些情況下,特別是當需要表示實體之間的關係或需要快速存取資料時,NoSQL資料庫可能更適用。NoSQL資料庫具有多種類型,例如圖形儲存庫(Graph Stores)和鍵值儲存庫(Key-value Stores)。

Redis是一種Key-value Stores,它將是我們本系列的主要焦點之一。接下來,我們將探討為什麼Redis使用Key-value Stores以及它的優勢,並與傳統的SQL資料庫進行比較。

首先,SQL資料庫以表格形式存儲數據,這導致數據被分解為多個表格,並且可能需要複雜的JOIN操作來檢索完整的數據。但在Redis中,數據以Key-value對的形式存儲,這意味著我們可以使用Key輕鬆查找特定數據,而無需進行複雜的查詢操作。

此外,Redis非常快速,因為它將數據存儲在內存中,而不是磁盤上,這使得它適合需要快速存取數據的應用程序,例如緩存。

Redis還支持許多不同的資料結構,例如字符串、列表、集合和有序集合,這使得它非常靈活,可以應對各種不同的應用場景。

總結一下,資料庫在應用程序中扮演著重要的角色,用於存儲、管理和檢索數據。 SQL和NoSQL是兩種不同類型的資料庫,具有各自的優勢和適用情境。 Redis是一個流行的NoSQL資料庫,以其速度和靈活性而著稱,並且將是我們在本系列中學習的主題之一。

在下一部影片中,我們將更深入地了解Redis,並開始探討如何使用它來構建應用程序。如果你對這個主題有任何問題或建議,請在下面的評論中告訴我們。感謝觀看!


上一篇
【下班後學 Redis 和 Docker】EP01 - 系列規劃及最基礎網路架構
下一篇
【下班後學 Redis 和 Docker】EP03 - 為什麼需要快取?快取的運作流程?使用快取需要注意的事情?
系列文
下班後學 Redis 和 Docker 6
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言