Redis 入門到分布式 (一)Redis初識

2022-02-06 00:20:32 字數 2055 閱讀 9092

redis的特性:

每秒的讀取速度最高可達: 10w ops

redis 的資料是儲存在記憶體上的,所以讀取快;

同時底層由c語言編寫,編譯高效;

又由於是單執行緒模型,具有執行緒安全的特性。

持久化功能:

redis所有資料保持在記憶體中,對資料的更新將非同步地儲存到磁碟上。

redis具有string、hashlistsetzset共五種資料結構

使用位圖可以用很小的記憶體實現很高效的儲存

由jdk1.8.75開始提供。

提供對於地理位置的定位服務,比如:用於查詢運算出離你最近的餐館等

支援redis的語言和應用非常多而且廣泛。

redis本身也支援發布訂閱,基於訊息發布的功能。

redis也支援lua指令碼,以及簡單的事務功能;並提供pipeline用於併發的控制。

redis的**實現只有23000行,由c語言編寫。簡單而健壯。

redis提供了主從複製的功能,主伺服器上的功能可以同步到從伺服器上。

redis提供了redis-sentinel,即哨兵實現高可用;以及redis-cluster支援分布式。

快取系統 、計數器、訊息佇列系統、排行榜、社交網路、實時系統

redis提供了訊息的發布、訂閱這一與訊息佇列系統類似的模型,當對訊息佇列的要求不是太高時,可以考慮使用redis.

使用位圖功能對垃圾郵件進行過濾,實時系統的處理。

wget

解壓縮:

tar -xzf redis-3.0.7.tar.gz

建立乙個軟連線,便於後期公升級版本:

in -s redis-3.0.7 redis

進入解壓縮資料夾內,並執行安裝:

cd redis

make &&  make install

redis-server

1)驗證:

ps -ef |  grep redis

netstat -antpl | grep redis

redis-cli -h ip -p port ping

redis-server --port 6379

redis-server configpath

生產環境選擇配置啟動;

單擊多例項配置檔案可以用埠區分開;

[root@rich bin]# ./redis-cli -h 192.168.254.111 -p 6379

192.168.254.111:6379> ping

pong

192.168.254.111:6379> set hello world

ok192.168.254.111:6379> get hello

"world"

192.168.254.111:6379>

Redis分布式鎖(一)

每個方案都有各自的優缺點,例如mysql雖然直觀理解容易,但是實現起來卻需要額外考慮鎖超時 加事務等,並且效能侷限於資料庫,諸如此類我們在此不作討論,重點關注redis。使用redis作為分布式鎖的優點 對於redis實現簡單,效能對比zookeeper和mysql較好。如果不需要特別複雜的要求,那...

redis分布式鎖

redis分布式鎖 直接上 我寫了四個redis分布式鎖的方法,大家可以提個意見 第一種方法 redis分布式鎖 param timeout public void lock long timeout thread.sleep 100 catch exception e override publi...

Redis分布式鎖

分布式鎖一般有三種實現方式 1.資料庫樂觀鎖 2.基於redis的分布式鎖 3.基於zookeeper的分布式鎖.首先,為了確保分布式鎖可用,我們至少要確保鎖的實現同時滿足以下四個條件 互斥性。在任意時刻,只有乙個客戶端能持有鎖。不會發生死鎖。即使有乙個客戶端在持有鎖的期間崩潰而沒有主動解鎖,也能保...