redis學習總結

2021-08-21 18:25:24 字數 1543 閱讀 7218

1、redis屬於非關係型資料庫,而我們經常用的mysql oracle資料庫都是屬於關係型資料庫,它們本質上的區別是:mysql oracle資料庫對於資料規範要求嚴格,還有對事務的支援;而redis則沒有明確的資料規範要求,redis在操作事務是單執行緒的,不會出現執行緒安全性問題,例(incr  生成乙個id)

2、redis預設支援16個資料庫,對外都是以乙個從0開始的遞增數字命名,可以通過引數databases來修改預設資料庫個數。

客戶端連線redis服務後會自動選擇0號資料庫,可以通過select命令更換資料庫,例如選擇1號資料庫: redis> select 1 ok redis [1]> get test (nil) 說明: redis不支援自定義資料庫名稱。

redis不支援為每個資料庫設定訪問密碼 redis的多個資料庫之間不是完全隔離的,flushall命令會清空所有資料庫的資料。 多資料庫不適用儲存不同應用的資料。

3、關閉redis服務的命令:shutdown,進入redis服務的命令:exit,

redis的強大功能很大程度上是由於其將所有資料都儲存在記憶體中,為了使redis在重啟後仍能保證資料不丟失,需要將資料從記憶體中以某種形式持久化到硬碟中。 redis支援兩種方式的持久化,一種是rdb方式,一種是aof方式。可以單獨使用其中一種或將兩種結合使用。 rdb方式是通過快照完成的,當符合一定條件時redis會自動將記憶體中的所有資料進行快照並且儲存到硬碟上。進行快照的條件在配置檔案中指定,有2個引數構成:時間和改動的鍵的個數,當在指定時間內被更改的鍵的個數大於指定數值時就會進行快照。 rdb是redis的預設持久化方式。

rdb方式是通過快照完成的,當符合一定條件時redis會自動將記憶體中的所有資料進行快照並且儲存到硬碟上。進行快照的條件在配置檔案中指定,有2個引數構成:時間和改動的鍵的個數,當在指定時間內被更改的鍵的個數大於指定數值時就會進行快照。 rdb是redis的預設持久化方式,儲存的是資料的結果,適合大資料量時的快照。

redis在實際使用過程中更多的用作快取,然而快取的資料一般都是需要設定生存時間的,即:到期後資料銷毀。 expire key seconds;清除生存時間 persist key;ttl 命令以秒為單位返回 key 的剩餘過期時間。

五種型別:string hash list set sortedset

redis應用場景:

在我們的系統中,當做快取來使用

string,hash ,expire

ttl  分布式的sessionlist:模擬佇列set:去重sortedset: topn

發布訂閱:

subscribe publish

模擬訊息佇列的功能

redis 單執行緒  不會出現執行緒安全問題 

incr  生成乙個id

redis學習總結

啟動命令 1,redis鍵 key 2,string 字串 1 在做原子操作,執行緒1加10,執行緒2減3,就可以採用incrby自增 decrby自減 可以多倍遞增和多倍遞減 2 getstrange和getstrange 3 setex 設定過期時間 和setnx 如果不存在建立成功 4 mse...

Redis學習總結

1 windows和linux上都可以部署redis 2 windows使用命令查詢 1 啟動redis cli.exe,開啟命令列介面 2 輸入 keys 獲得redis中所有的key值 3 輸入 get 某個key 獲取key對應的value值 3 目前的專案上使用redis來儲存使用者的ses...

Redis學習總結一 Redis簡介

redis remote dictionary server 遠端字典服務 是由義大利人salvatore sanfilippo 網名 antirez 開發的一款記憶體快取記憶體資料庫。是完全開源免費的,用c語言編寫的,遵守bsd協議,高效能的 key value 分布式記憶體資料庫 區別於mysq...