雷迪斯 是 NOSQL 資料庫,資料以鍵值對的形式儲存。
雷迪斯 將資料儲存在主記憶體上,這意味著它速度快,但易失性,不像 PostgreSQL 等資料庫系統將資料儲存在磁碟上。
在具有伺服器和資料庫的應用程式中,存取資料庫上的資訊會導致延遲。
像redis這樣的Key-Value資料庫通常保存在這些資料庫前面,存取操作需要2個步驟:
透過這兩個步驟,並且考慮到主記憶體的延遲低於磁碟,我們可以說雷迪斯 可用於儲存和存取頻繁的、最近的資料和昂貴的操作,從而使應用程式速度提高10 到50 倍。
因此,如果您要建立一個未來可擴展的應用程序,雷迪斯(或類似於 雷迪斯 的資料庫)是必不可少的。
雷迪斯 開源嗎? :是的,雷迪斯 是開源的,具有特殊類型的許可證,但也有其他替代方案,例如 Snapchat 的 KeyDB 和 Memcached 都是開源的。 KeyDB 是 雷迪斯 的一個分支,但目前只能在 Linux 上運作。
雷迪斯 支援 Windows 嗎? :不,雷迪斯 不支援 Windows,但您可以安裝 WSL/Ubuntu,並使用
安裝 redis
sudo apt install redis
redis-server --port 6000
其中 6000 是您要執行它的本機伺服器上的連接埠。 (即 127.0.0.1:6000)。
大多數問題是由於 redis-server 使用的預設連接埠已被使用
在Linux上,安裝redis就像
一樣簡單
sudo apt install redis
或:
brew install redis
您需要在 上擁有 2 個終端實例
第一個運行您的伺服器
redis-server -port <portnumber> </portnumber>
在第二個運行你的客戶端
redis-cli
建置Web應用程式時,不需要執行客戶端但需要執行伺服器
雷迪斯 概念
您應該了解 雷迪斯 中的 3 個主要概念或 4
所有其他資料結構主要是第一個資料結構的高階實作
所謂的列表,我的意思是數組而不是鍊錶,這就是redis的稱呼。
鍵值對是大多數程式語言中常見的資料結構。
在 Python 中稱為字典或簡稱 dict
在 Javascript 稱為 地圖
在 C# 稱為 字典
雷迪斯 中鍵值對的主要操作有 6 種
Operations | Explanations | Examples | Further Explanation |
---|---|---|---|
SET | Creates a key-value pair | SET name John | Sets key to map to value |
GET | Gets value for key | GET name | This returns John |
DEL | Deletes the key value pair | DEL name | This removesthe key value pair name from the database |
EXISTS | Checks if a key exists in the redis database | EXISTS name | returns 1 or 0 corresponding to True or False |
FLUSHALL | Clears the entire cache | FLUSHALL | more or less like DROP TABLE in postgres |
KEYS * | Returns all the keys in the database | KEYS * |
還有基於時間的操作。在基於時間的操作中,金鑰僅在快取中保存一段設定的時間,時間到期後,快取會刪除該金鑰。
有 2 個主要的基於時間的操作
Operations | Explanations | Examples | Further Explanation |
---|---|---|---|
EXPIRE | Expires a key after being defined | EXPIRE name 10 | Deletes the key-value name after 10s .The key must be defined with SET before calling EXPIRE . A common alternative is; |
SETEX | Expires a key upon definition | SETEX age 30 15 | Sets the key age to value 30 and thereafter deleted the key-value pair after 15s |
TTL | Time To Live | TTL age | Returns the time remaining before deletion of the age key |
博客太長了,我將討論列表,集合,哈希圖以及有關redis的可能面試問題 在另一個博客中。
如果您有任何疑問,請在下面評論,我會盡力回答⭐。快樂編碼
以上是雷迪斯的詳細內容。更多資訊請關注PHP中文網其他相關文章!