redis的特性:
每秒的讀取速度最高可達: 10w ops
redis 的資料是儲存在記憶體上的,所以讀取快;
同時底層由c語言編寫,編譯高效;
又由於是單執行緒模型,具有執行緒安全的特性。
持久化功能:
redis所有資料保持在記憶體中,對資料的更新將非同步地儲存到磁碟上。
redis具有string、hash、list、set、zset共五種資料結構
使用位圖可以用很小的記憶體實現很高效的儲存由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 redismake && make install
redis-server1)驗證:
ps -ef | grep redisnetstat -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 6379192.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的分布式鎖.首先,為了確保分布式鎖可用,我們至少要確保鎖的實現同時滿足以下四個條件 互斥性。在任意時刻,只有乙個客戶端能持有鎖。不會發生死鎖。即使有乙個客戶端在持有鎖的期間崩潰而沒有主動解鎖,也能保...