Share This Post

簡介

Redis,全名為 Remote Dictionary Server,由義大利人在 2009 年 Salvatore Sanfilippo 設立,起初設立的目的是為了解決 LLOOGG.com 網站在 MySQL 資料庫進行讀寫的不便,以 ANSI C 語言撰寫,大多是在 Linux 系統進行開發與測試,所以其實 Redis 官方並未提供 Window 系統使用,但是 Windows 官方有 64 位元版本的 Redis 供用戶下載。

特色

In-memory:Redis 是一個以記憶體為主進行存取的資料庫。
data structure store:Redis 的每個值可以包含複雜的資料結構,因此稱之為資料結構伺服器。
Open Source (BSD licensed):Berkeley Software Distribution license,自由軟體中使用最廣泛的授權條款之一。
Single Thread
Multiple data structure (strings, hashes, lists, set, etc.):可以使用多種的資料結構進行儲存。
Support most leading programming languages:支援大多數的程式語言
Used as Database, Cache, Message Broker

基本的五個資料型態

  • String:最基本的 Redis 的儲存型態,一個鍵對一個值,提供 binary safe,可以包含任何資料,包括 JPEG 圖片或是以序列化的物件,可以儲存最大 512 MB 的資料
  • List:lists of strings,依照字串的插入順序進行排列,最多可以儲存 232 -1 個元素
  • Set:沒有順序且不重複的 strings,最多可以儲存 232 -1 個元素
  • Hash:maps composed of fields associated with values,一個鍵可以儲存 232 -1 鍵值對
  • Sorted Set:類似於 Set,但是每個 Set 都會有一個分數,由這些分數來進行排列

安裝 Redis

windows安裝

安裝位置:下載版本3.2.100

https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100

解壓之後 開啟 cmd。

切換至Redis 資料夾下。

執行安裝指令

redis-server --service-install 

Ubuntu/Linux 安裝

請參考 https://www.runoob.com/redis/redis-install.html

mac安裝

請參考 https://redis.io/docs/getting-started/installation/install-redis-on-mac-os/

啟動 Redis

啟用:

redis-server --service-start

停用:

redis-server --service-stop

移除:

redis-server --service-uninstall

中斷連線:

ctrl +c

連線

cmd 先到 redis 的根目錄

redis-cli -h 127.0.0.1 -p 6379

存入資料、取出資料

set 資料 & get 資料 ( Key – Value 存入一個資料 )

存入資料 set key value

取出資料 get key value

使用案例

  • Session Cache:許多網站借助 Redis 字串類別來建立 session cache 快取片段的 HTML 以便加速網站的體驗,因為資料被儲存在記憶體,這樣的特性讓 Redis 變成一個 session cache 的理想選擇。舉例來說,在電商網站上,可以暫時儲存使用者購物車中的商品,即便登出或是斷線後,資料也會繼續存在
  • Pub/Sub:Redis支援使用發布和訂閱(Pub / Sub)命令,用戶可以在其所有應用程序和服務中設計高性能的聊天和消息傳遞服務。這包括使用列表數據結構運行原子操作和阻止功能的能力。Realtime analysis:Redis可以以亞毫秒級的延遲處理數據

參考資料

https://www.runoob.com/redis/redis-tutorial.html

訂閱研究文章

Get updates and learn from the best

More To Explore

Scroll to Top

hurry up !

軟體工程師培訓

限時免費報名中

藉由與「真實世界軟體專案」相同的技術、工具與開發流程,化簡成與商業機密無關、門檻較低更容易上手的「模擬專案」,讓你有機會在職場前輩的陪伴下,完成真槍實彈的練習,動手解決真實的問題,快速累積個人的經驗與作品,而不只是「學習技術」而已。