搜尋
首頁資料庫Redis小記 Redis介紹與安裝部署

小記 Redis介紹與安裝部署

推薦(免費):redis

文章目錄

  • #一、Redis是什麼

二、Redis能做什麼

三、Redis下載與安裝部署

四、Redis的幾個小知識

一、Redis是什麼Redis:REmote DIctionary Server(遠端字典伺服器)

Redis是完全開源免費的,用C語言編寫的,遵守BSD協議的一個

高效能的(key/value)分散式記憶體資料庫,也是基於記憶體運行並支援持久化的NoSQL資料庫

,是目前最熱門的NoSql資料庫之一,也被人們稱為資料結構伺服器。同時,Redis也是一個簡單的、高效的、分散式的、基於記憶體的
    快取工具
  • 。架構好伺服器後,透過網路連接(類似資料庫),提供Key-Value式快取服務。
  • Redis有以下幾個優點:
  • #1.極高效能 Redis讀的速度是11萬次/s,寫的速度是8萬次/秒。
  • 2.豐富的資料類型 Redis支援的類型有String、Hash、List、Set以及Ordered Set資料庫類型。
  • 3.原子性 Redis所有運算都是原子性的,透過MULTI和EXEC指令包起來。
4.豐富的讀寫

Redis支援publish/subscribe、通知、key過期等特性。

5.高速讀寫
    redis使用自己實作的分離器,程式碼量很短,沒有使用lock(MySQL),因此效率非常高。
  • Redis也有以下幾個劣勢:
  • #1.持久化 Redis直接將資料儲存在記憶體中,如果要將資料儲存到磁碟上,第一種方法是使用①定時快照(snapshot)
  • :每隔一段時間將整個資料庫寫到磁碟上,每次均是寫全部數據,但是代價非常高;第二種方法是
②基於語句追加(aof)

:只追蹤變化的數據,但是追加的log可能過大,同時所有的操作均重新執行一遍,恢復速度慢。

2.耗記憶體

,佔用記憶體過高。

二、Redis能幹什麼

  • 企業開發中,可以將Redis當作資料庫、快取、熱點資料(經常被查詢但是不被修改和刪除的數據)、訊息中間件等大部分功能。

    Redis的常用情境實例如下:

  • #快取
    現今快取幾乎是所有中型網站都在用的必殺技,合理的利用快取不僅能提升網站的存取速度,還能大幅降低資料庫的壓力。 Redis提供了鍵過期的功能,也提供了靈活的鍵淘汰策略。

  • 排行榜
    如淘寶的月度銷售清單、商品按時間的上新排行榜等。 Redis提供的有序集合資料類構能實現各種複雜的排行榜應用。

  • 計數器
    如電商網站商品的瀏覽量、影片網站影片的播放數等。為了確保資料即時效,每次瀏覽都得給 1,並發量高時如果每次都請求資料庫操作無疑是種挑戰和壓力。 Redis提供的incr指令來實現計數器功能,記憶體操作,效能非常好,非常適用於這些計數場景。

  • 分散式會話
    叢集模式下,在應用不多的情況下一般使用容器自帶的session複製功能就能滿足,在應用在增加相對複雜的系統中,一般都會搭建以Redis等記憶體資料庫為中心的session服務,session不再由容器管理,而是由session服務及記憶體資料庫管理。

  • 分散式鎖定
    分散式技術帶來的技術挑戰是對同一個資源的並發訪問,如全域ID、減庫存、秒殺等場景,並發量不大的場景可以使用資料庫的悲觀鎖、樂觀鎖來實現,但在並發量高的場合中,利用資料庫鎖來控制資源的並發存取是不太理想的,大大影響了資料庫的效能。可以利用Redis的setnx功能來編寫分散式的鎖,如果設定回傳1說明取得鎖成功,否則取得鎖失敗,實際應用中要考慮的細節要更多。

  • 社群網路
    讚、踩、追蹤/被追蹤、共同好友等是社群網站的基本功能,社群網站的訪問量通常來說比較大,而且傳統的關聯式資料庫類型不適合用來儲存這種類型的數據,Redis提供的雜湊、集合等資料結構能很方便的實作這些功能。

    ############最新列表###### Redis列表結構,LPUSH可以在列表頭部插入一個內容ID作為關鍵字,LTRIM可用來限制列表的數量,這樣列表永遠為N個ID,無需查詢最新的列表,直接根據ID去到對應的內容頁即可。 ###
  • 訊息系統
    訊息佇列是大型網站必用中介軟體,如ActiveMQ、RabbitMQ、Kafka等流行的訊息佇列中間件,主要用於業務解耦、流量削峰及非同步處理即時性低的業務。 Redis提供了發布/訂閱及阻塞佇列功能,能實現一個簡單的訊息佇列系統。但是,這個不能和專業的訊息中間件相比。

三、Redis下載與安裝部署

#Redis英文官網。
Redis中文網站。

由於企業裡面做Redis開發,99%都是Linux版的運用與安裝,所以本文只介紹Linux下的安裝與運行,Windows下的安裝使用小夥伴們可以自行百度。前往上面的官網點擊Download下載.gz安裝套件後,放在Linux下的/opt目錄 (我這裡安裝的是Redis的6.0.5版本)。

  • 解壓縮指令為:tar -zxvf redis-6.0.5.tar.gz

上述指令只是解壓縮了Redis,如果想要安裝Redis,需要Linux系統有gcc環境,如果沒有可以使用yum install gcc-c 安裝,然後使用gcc -v檢視版本。

如果Linux環境已經有了gcc環境,直接使用下面的指令來安裝:

  • 安裝指令為:make install

安裝好預設是像Tomcat一樣不能開機自啟動的,可以修改redis.conf 檔案中的daemonize 屬性為yes。

  • 開啟redis服務:redis-server /myredis/redis.conf(此處為修改屬性後的redis設定檔)
##查看後台Redis服務是否啟動:

  • ps -ef|grep redis
開啟Redis服務:

  • redis-cli -p 6379
    小記 Redis介紹與安裝部署

#正常關閉,資料會進行儲存 在redis命令列中使用
shutdown命令關閉。

非正常關閉,易導致資料遺失 斷電、手動kill掉redis進程等。

幾個其他的redis指令


小記 Redis介紹與安裝部署

#四、Redis的幾個小知識

# Redis是一個單一進程,使用單一進程模型來處理客戶端的請求。對讀寫等事件的反應是透過對epoll函數的包裝來做到的。 Redis的實際處理速度完全依賴主程序的執行效率。

epoll是Linux核心為處理大批量檔案描述符而作了改進的epoll,是Linux下多路復用IO介面select/poll的增強版本,它能顯著提高程式在大量並發連線中只有少量活躍的情況下的系統CPU利用率。

  • Redis預設有16個資料庫,下標從零開始,初始預設使用零號庫,可以使用

    SELECT 指令連接上指定資料庫。
    小記 Redis介紹與安裝部署

  • dbsize指令可以查看目前資料庫的key的數量,keys *查看所有的key。
    小記 Redis介紹與安裝部署

  • flushdb:清空目前函式庫(慎用)

  • Flushall:清空全部庫(慎用)

  • 統一密碼管理,16個函式庫都是一樣密碼,要嘛都OK要嘛一個也連接不上。

  • Redis索引都是從零開始

  • Redis預設連接埠是6379

####################################################################################所以####更多相關免費學習推薦:###redis入門教學############

以上是小記 Redis介紹與安裝部署的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:CSDN。如有侵權,請聯絡admin@php.cn刪除
REDIS:數據庫還是服務器?揭開角色的神秘面紗REDIS:數據庫還是服務器?揭開角色的神秘面紗Apr 28, 2025 am 12:06 AM

redisisbothadatabaseandaserver.1)asadatabase,ituseSin-memorystorageforfastaccess,ifealforreal-timeapplications andCaching.2)Asaserver,ItsupportsPub/submessagingAndluAsessingandluAsessingandluascriptingftingftingftingftingftingftingftingfinteral-timecommunicationandserverserverserverserverserverserverserver-soperations。

REDIS:NOSQL方法的優勢REDIS:NOSQL方法的優勢Apr 27, 2025 am 12:09 AM

Redis是NoSQL數據庫,提供高性能和靈活性。 1)通過鍵值對存儲數據,適合處理大規模數據和高並發。 2)內存存儲和單線程模型確保快速讀寫和原子性。 3)使用RDB和AOF機制進行數據持久化,支持高可用性和橫向擴展。

REDIS:了解其架構和目的REDIS:了解其架構和目的Apr 26, 2025 am 12:11 AM

Redis是一种内存数据结构存储系统,主要用作数据库、缓存和消息代理。它的核心特点包括单线程模型、I/O多路复用、持久化机制、复制与集群功能。Redis在实际应用中常用于缓存、会话存储和消息队列,通过选择合适的数据结构、使用管道和事务、以及进行监控和调优,可以显著提升其性能。

REDIS與SQL數據庫:關鍵差異REDIS與SQL數據庫:關鍵差異Apr 25, 2025 am 12:02 AM

Redis和SQL數據庫的主要區別在於:Redis是內存數據庫,適用於高性能和靈活性需求;SQL數據庫是關係型數據庫,適用於復雜查詢和數據一致性需求。具體來說,1)Redis提供高速數據訪問和緩存服務,支持多種數據類型,適用於緩存和實時數據處理;2)SQL數據庫通過表格結構管理數據,支持複雜查詢和事務處理,適用於電商和金融系統等需要數據一致性的場景。

REDIS:它如何充當數據存儲和服務REDIS:它如何充當數據存儲和服務Apr 24, 2025 am 12:08 AM

REDISACTSASBOTHADATASTOREANDASERVICE.1)ASADATASTORE,ITUSESIN-MEMORYSTOOGATOFORFOFFASTESITION,支持VariousDatharptructuresLikeKey-valuepairsandsortedsetsetsetsetsetsetsets.2)asaservice,ItprovidespunctionslikeItionitionslikepunikeLikePublikePublikePlikePlikePlikeAndluikeAndluAascriptingiationsmpleplepleclexplectiations

REDIS與其他數據庫:比較分析REDIS與其他數據庫:比較分析Apr 23, 2025 am 12:16 AM

Redis與其他數據庫相比,具有以下獨特優勢:1)速度極快,讀寫操作通常在微秒級別;2)支持豐富的數據結構和操作;3)靈活的使用場景,如緩存、計數器和發布訂閱。選擇Redis還是其他數據庫需根據具體需求和場景,Redis在高性能、低延遲應用中表現出色。

REDIS的角色:探索數據存儲和管理功能REDIS的角色:探索數據存儲和管理功能Apr 22, 2025 am 12:10 AM

Redis在數據存儲和管理中扮演著關鍵角色,通過其多種數據結構和持久化機製成為現代應用的核心。 1)Redis支持字符串、列表、集合、有序集合和哈希表等數據結構,適用於緩存和復雜業務邏輯。 2)通過RDB和AOF兩種持久化方式,Redis確保數據的可靠存儲和快速恢復。

REDIS:了解NOSQL概念REDIS:了解NOSQL概念Apr 21, 2025 am 12:04 AM

Redis是一種NoSQL數據庫,適用於大規模數據的高效存儲和訪問。 1.Redis是開源的內存數據結構存儲系統,支持多種數據結構。 2.它提供極快的讀寫速度,適合緩存、會話管理等。 3.Redis支持持久化,通過RDB和AOF方式確保數據安全。 4.使用示例包括基本的鍵值對操作和高級的集合去重功能。 5.常見錯誤包括連接問題、數據類型不匹配和內存溢出,需注意調試。 6.性能優化建議包括選擇合適的數據結構和設置內存淘汰策略。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能