資料內(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 #后臺(tái)啟動(dòng)
16 protected‐mode no #關(guān)閉保護(hù)模式,開(kāi)啟的話,只有本機(jī)才可以訪問(wèn)redis
17 # 需要注釋掉bind
18 #bind 127.0.0.1(bind綁定的是自己機(jī)器網(wǎng)卡的ip,如果有多塊網(wǎng)卡可以配多個(gè)ip,代表允許客戶
端通過(guò)機(jī)器的哪些網(wǎng)卡ip去訪問(wèn),內(nèi)網(wǎng)一般可以不配置bind,注釋掉即可)
19
20 # 啟動(dòng)服務(wù)
21 src/redis‐server redis.conf
22
23 # 驗(yàn)證啟動(dòng)是否成功
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)程號(hào)
35 (3)src/redis‐cli shutdown
Redis的單線程和高性能
Redis是單線程嗎?
Redis 的單線程主要是指 Redis 的網(wǎng)絡(luò) IO 和鍵值對(duì)讀寫(xiě)是由一個(gè)線程來(lái)完成的,這也是 Redis 對(duì)外
提供鍵值存儲(chǔ)服務(wù)的主要流程。但 Redis 的其他功能,比如持久化、異步刪除、集群數(shù)據(jù)同步等,其實(shí)是由額外的線程執(zhí)行的。
Redis 單線程為什么還能這么快?
因?yàn)樗械臄?shù)據(jù)都在內(nèi)存中,所有的運(yùn)算都是內(nèi)存級(jí)別的運(yùn)算,而且單線程避免了多線程的切換性
能損耗問(wèn)題。正因?yàn)?Redis 是單線程,所以要小心使用 Redis 指令,對(duì)于那些耗時(shí)的指令(比如
keys),一定要謹(jǐn)慎使用,一不小心就可能會(huì)導(dǎo)致 Redis 卡頓。
Redis 單線程如何處理那么多的并發(fā)客戶端連接?
Redis的IO多路復(fù)用:redis利用epoll來(lái)實(shí)現(xiàn)IO多路復(fù)用,將連接信息和事件放到隊(duì)列中,依次放到
文件事件分派器,事件分派器將事件分發(fā)給事件處理器。