[Redis]Redis章1 概要

1、redis單線程問題redis

單線程指的是網絡請求模塊使用了一個線程(因此不需考慮併發安全性),即一個線程處理全部網絡請求,其餘模塊仍用了多個線程;緩存

 

2、Redis關於線程安全問題安全

  redis其實是採用了線程封閉的觀念,把任務封閉在一個線程,天然避免了線程安全問題,不過對於須要依賴多個redis操做的複合操做來講,依然須要鎖,並且有多是分佈式鎖。網絡

 

3、使用Redis有哪些好處?併發

(1) 速度快,由於數據存在內存中,相似於HashMap,HashMap的優點就是查找和操做的時間複雜度都是O(1)分佈式

(2) 支持豐富數據類型,支持string,list,set,sorted set,hashmemcached

(3) 支持事務,操做都是原子性,所謂的原子性就是對數據的更改要麼所有執行,要麼所有不執行函數

(4) 豐富的特性:可用於緩存,消息,按key設置過時時間,過時後將會自動刪除spa

 

 

4、Redis相比memcached有哪些優點?線程

(1) memcached全部的值均是簡單的字符串,redis做爲其替代者,支持更爲豐富的數據類型

(2) redis的速度比memcached快不少

(3) redis能夠持久化其數據

(4)Redis支持數據的備份,即master-slave模式的數據備份。

(5) 使用底層模型不一樣,它們之間底層實現方式 以及與客戶端之間通訊的應用協議不同。Redis直接本身構建了VM 機制 ,由於通常的系統調用系統函數的話,會浪費必定的時間去移動和請求。

(6)value大小:redis最大能夠達到1GB,而memcache只有1MB

 

5、爲何說redis可以快速執行

(1) 絕大部分請求是純粹的內存操做(很是快速)

(2) 採用單線程,避免了沒必要要的上下文切換和競爭條件

(3) 非阻塞IO - IO多路複用

相關文章
相關標籤/搜索