資料內(nèi)容:
Redis安裝
1 下載地址:http://redis.io/download
2 安裝步驟:
3 # 安裝gcc
4 yum install gcc
5
6 # 把下載好的redis‐5.0.3.tar.gz放在/usr/local文件夾下,并解壓
7 wget http://download.redis.io/releases/redis‐5.0.3.tar.gz
8 tar xzf redis‐5.0.3.tar.gz
9 cd redis‐5.0.3
10
11 # 進(jìn)入到解壓好的redis‐5.0.3目錄下,進(jìn)行編譯與安裝
12 make
13
14 # 修改配置
15 daemonize yes #后臺啟動
16 protected‐mode no #關(guān)閉保護(hù)模式,開啟的話,只有本機(jī)才可以訪問redis
17 # 需要注釋掉bind
18 #bind 127.0.0.1(bind綁定的是自己機(jī)器網(wǎng)卡的ip,如果有多塊網(wǎng)卡可以配多個ip,代表允許客戶
端通過機(jī)器的哪些網(wǎng)卡ip去訪問,內(nèi)網(wǎng)一般可以不配置bind,注釋掉即可)
19
20 # 啟動服務(wù)
21 src/redis‐server redis.conf
22
23 # 驗證啟動是否成功
24 ps ‐ef | grep redis
25
26 # 進(jìn)入redis客戶端
27 src/redis‐cli
28
29 # 退出客戶端
30 quit
31
32 # 退出redis服務(wù):
33 (1)pkill redis‐server
34 (2)kill 進(jìn)程號
35 (3)src/redis‐cli shutdown
Redis的單線程和高性能
Redis是單線程嗎?
Redis 的單線程主要是指 Redis 的網(wǎng)絡(luò) IO 和鍵值對讀寫是由一個線程來完成的,這也是 Redis 對外
提供鍵值存儲服務(wù)的主要流程。但 Redis 的其他功能,比如持久化、異步刪除、集群數(shù)據(jù)同步等,其實是由額外的線程執(zhí)行的。
Redis 單線程為什么還能這么快?
因為它所有的數(shù)據(jù)都在內(nèi)存中,所有的運算都是內(nèi)存級別的運算,而且單線程避免了多線程的切換性
能損耗問題。正因為 Redis 是單線程,所以要小心使用 Redis 指令,對于那些耗時的指令(比如
keys),一定要謹(jǐn)慎使用,一不小心就可能會導(dǎo)致 Redis 卡頓。
Redis 單線程如何處理那么多的并發(fā)客戶端連接?
Redis的IO多路復(fù)用:redis利用epoll來實現(xiàn)IO多路復(fù)用,將連接信息和事件放到隊列中,依次放到
文件事件分派器,事件分派器將事件分發(fā)給事件處理器。