中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CentOS7下怎么用yum安裝Redis

發布時間:2022-04-07 16:27:33 來源:億速云 閱讀:197 作者:iii 欄目:編程語言

本篇內容主要講解“CentOS7下怎么用yum安裝Redis”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“CentOS7下怎么用yum安裝Redis”吧!

(1).Redis概述

  Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value(鍵值型)數據庫(非關系型數據庫),并提供多種語言的API。

  Redis是一個高性能的Key-Value數據庫。它的出現很大程度補償來Memc++ached這類Key-Value型存儲的不足,在部分場合下可以對關系型數據庫起到很好的補充作用。它提供來Java、C/C++、PHP、JavaScript、Perl、Object-C、Python、Ruby、Erlang等客戶端,使用方便。

  Redis支持主從同步,Redis能夠借助于Sentinel(哨兵,Redis自帶的)工具來監控主從節點,當主節點發生故障時,會自己提升另外一個從節點成為新的主節點。

 1)支持的數據類型

  和Memcached類似,但它支持存儲的Value類型相對更多,包括String(字符串)、List(列表)、Sets(集合)、Sorted
Sets(有序集合)和Hash(哈希類型、關聯數組)、Bitmaps(位圖)和HyperLoglog。

 2)性能

  100萬較小的鍵存儲字符串,大概消耗100M內存;

  由于Redis是單線程,如果服務器主機上有多個CPU,只有一個能夠使用,但并不意味著CPU會成為瓶頸,因為Redis是一個比較簡單的K-V數據存儲,CPU通常不會成為瓶頸的;

  在常見的linux服務器上,500K(50萬)的并發,只需要一秒鐘處理,如果主機硬件較好的情況下,每秒鐘可以達到上百萬的并發.

 3)Redis與Memcache對比

  Memcache只能使用內存來緩存對象。而Redis除了可以使用內存來緩存對像,還可以周期性的將數據保存到磁盤上,對數據進行永久存儲。當服務器突然斷電或死機后,
redis基于磁盤中的數據進行恢復;

  Redis是單線程服務器,只有一個線程來響應所有的請求。Memcache是多線程的;

  Redis支持更多的數據類型。

(2).安裝

  yum安裝redis時,建議使用Remi
repository源。因為Remi源提供了目前最新版本的Redis,可以通該源使用YUM安裝目前最新版本的Redis。另外還提供了PHP和MySQL的最新yum源,以及相關服務程序。

 1)Remi repository源依賴于epel源,因此需要先安裝epel源

1

[root@youxi1 ~]# yum -y install
epel-release

 2)安裝Remi repository源

1

2

3

4

5

6

7

[root@youxi1 ~]# yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

[root@youxi1 ~]# ls
/etc/yum.repos.d/  
//下載完成后會出現許多remi的yum源,這里要用到的是remi.repo這個源

CentOS-Base.repo CentOS-Sources.repo remi-glpi92.repo
remi-php70.repo remi-safe.repo

CentOS-CR.repo CentOS-Vault.repo remi-glpi93.repo
remi-php71.repo

CentOS-Debuginfo.repo epel.repo remi-glpi94.repo
remi-php72.repo

CentOS-fasttrack.repo epel-testing.repo
remi-modular.repo remi-php73.repo

CentOS-Media.repo remi-glpi91.repo remi-php54.repo
remi.repo

 3)使用指定的yum源安裝Redis

1

2

3

[root@youxi1 ~]# yum --enablerepo=remi install -y
redis  
//--enablerepo指定yum源

[root@youxi1 ~]# redis-cli
--version  
//安裝完成后使用命令查看一下版本

redis-cli
5.0.5

  注意:remi源安裝完成后,默認為不啟動,在需求使用remi
repository源安裝程序時,需求–enablerepo=remi選項指定使用remi
repository源是可以被使用的,然后進行安裝。

 4)啟動Redis并設置開機自啟

1

2

3

[root@youxi1 ~]# systemctl start
redis

[root@youxi1 ~]# systemctl enable
redis

Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service
to
/usr/lib/systemd/system/redis.service.

  注意:Redis的端口號是6379

(3).配置文件信息

  Linux下,Redis的配置文件存放在/etc/目錄下的redis.conf。以下列出來可能會用到的參數:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

//第69行,Redis監聽的地址

bind 127.0.0.1

//第88行,安全模式,是否禁止外網訪問Redis,yes表示啟用,只能通過本地訪問

protected-mode yes

//第92行,監聽的端口號

port 6379

/*第101行,指定tcp-backlog長度。tcp-backlog是一個等待隊列。


*
當大量請求需要Redis處理時,需要等待的請求隊列會通過backlog來緩存。


* backlog的數量決定來可以緩存的隊列數

*/

tcp-backlog 511

//第109行,指定使用sock文件通信以及sock文件位置。如果服務端和客戶端在同一臺主機上,建議打開。sock方式通信可以直接在內存中交換,不經過TCP/IP協議棧進行封裝、拆封

# unixsocket /tmp/redis.sock

//第110行,定義sock文件的權限

# unixsocketperm 700

//第113行,表示客戶端連接成功后,空閑多長時間超時(非活躍,沒有數據交互)。0表示不開啟此功能

timeout 0

//第130行,維持長鏈接的時間,單位秒

tcp-keepalive 300

//第136行,是否在后臺運行守護進程。如果使用redis服務腳本啟動,即使為no,也會運行一個守護進程。一般設置yes

daemonize no

//第147行,是由upstart還是systemd接管redis進程。默認無監督互動,不需要修改。

supervised no

//第158行,pid文件地址

pidfile /var/run/redis_6379.pid

//第166行,日志級別

loglevel notice

//第174行,日志文件位置

logfile /var/log/redis/redis.log

//第186行,默認由多少個數據庫。但是在分布式中,只能有一個

databases 16

 

/*第218到220行,快照存儲策略,存到磁盤的持久化策略


*第一個數字是單位時間,單位為秒;第二個數字是鍵值發生變化的次數


* 例如第一個,900秒內至少發生1次鍵值變化,則做一次快照(持久化)


* 第二個就是,300秒內至少發生10次鍵值變化,則做一次快照(持久化)


* 所有條件是并列關系,根據不同的鍵值變化選擇使用規則

*/

save 900 1

save 300 10

save 60 10000

//第235行,在進行快照備份時,一旦發生錯誤是否停止,默認yes即可

stop-writes-on-bgsave-error yes

//第241行,指定RDB文件是否壓縮。yes表示壓縮,會消耗CPU資源

rdbcompression yes

/*第250行,是否對RDB文件做校驗碼檢測。

*此項定義在redis啟動時加載RDB文件是否對文件檢查校驗碼,在redis生成RDB文件是會生成校驗信息,在redis再次啟動或裝載RDB文件時,是否檢測校驗信息。

*如果檢測的情況下會消耗時間,會導致redis啟動時慢,但是能夠判斷RDB文件是否產生錯誤。

*/

rdbchecksum yes

//第253行,RDB文件名稱

 dbfilename dump.rdb

//第263行,RDB文件存放的路徑

dir /var/lib/redis

 

//第286行,定義Master服務器的IP和端口,主從復制的配置信息

# replicaof <masterip>
<masterport>

//第293行,定義Master服務器的密碼,主從復制的配置信息

# masterauth <master-password>

//第308行,當從端在主從復制過程中與主端斷開連接,yes表示繼續提供服務,即使數據可能不是最新的;no表示對請求返回錯誤信息

replica-serve-stale-data yes

//第324行,從端只讀

replica-read-only yes

//第355行,默認不使用diskless(無磁盤)同步方式

repl-diskless-sync no

//第367行,diskless(無磁盤)方式進行數據傳遞之前會有一個時間的延遲,以便從端能夠進行到待傳送的目標隊列中,默認5秒

repl-diskless-sync-delay 5

//第373行,從端向主端發送ping的時間間隔,默認10秒

# repl-ping-replica-period 10

//第385行,設置超時時間

# repl-timeout 60

/*第400行,是否啟用TCP_NODELAY。

* 如果啟用則會使用少量的TCP包和帶寬去進行數據傳輸到從端,速度較慢;

* 如果不啟用則使用較多的帶寬進行數據傳輸,速度較快。

*/

repl-disable-tcp-nodelay no

/*第413行,設置backlog的大小。backlog是一個緩沖區,在從端失聯時存放要同步到從端的數據。

*
因此當從端重連時,一般是不需要完全同步的。backlog越大,從端可以失聯的時間就越長(相對來說)

*/

# repl-backlog-size 1mb

//第426行,一段時間后,從端還沒有連上master,那么backlog(緩沖區)的內存將被釋放。0表示永不釋放,默認3600秒

# repl-backlog-ttl 3600

//第441行,從端的優先級設置,數字越小優先級越高。主端故障會根據優先級高的從端來進行恢復。如果設置的是0,那么該從端永遠不會被選中

replica-priority 100

//第457到458行,當主端的可用從端小于3個或網路延遲島嶼10秒時,主端拒絕接收用戶的寫請求。

# min-replicas-to-write 3

# min-replicas-max-lag 10

 

//第507行,指定認證密碼,默認不啟動

# requirepass foobared

 

//第539行,同時連接redis的最大數量

# maxclients
10000

  特別注意:第69行的bind,第88行的protected-mode,第136行的daemonize,第539行的maxclients,還有主從復制的所有配置參數。

(4).redis的簡單使用

  最最簡單的使用:redis-cli -h [IP地址] -p
[端口號]。如果是連接本地,-h和-p都可以省略。

 1)Reids字符串操作

  鍵的命名規則:可以使用ASCII字符;鍵的長度不要過長,鍵的長度越長則消耗的空間越多;在同一個庫中(名稱空間),鍵的名稱不得重復,如果復制鍵的名稱,實際上是修改鍵中的值;在不同的庫中(名稱空間),鍵的多種名稱可以重復;鍵可以實現自動過期。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

[root@youxi1 ~]# redis-cli

127.0.0.1:6379> set system
centos  
//創建鍵值

OK

127.0.0.1:6379> get system  //獲取鍵值

"centos"

127.0.0.1:6379> exit

[root@youxi1 ~]# systemctl restart
redis  
//重啟

[root@youxi1 ~]# redis-cli

127.0.0.1:6379> get system  //可以看到鍵值是存在的

"centos"

127.0.0.1:6379> set name "youxi" EX
10  
//如這般設置,則表示該鍵值值存在10秒

OK

127.0.0.1:6379> get name  //10秒過后再次查看,這就是一個臨時鍵值

(nil)

 2)如果開啟認證功能

  首先修改配置文件,開啟認證功能

1

2

3

[root@youxi1 ~]# vim /etc/redis.conf

requirepass 123456  //在第507行,去除注釋,設置認證密碼

[root@youxi1 ~]# systemctl restart
redis

  此時再次使用redis

1

2

3

4

5

6

7

[root@youxi1 ~]# redis-cli

127.0.0.1:6379> get system  //沒有認證時,會報錯

(error) NOAUTH Authentication
required.

127.0.0.1:6379> auth 123456  //認證

OK

127.0.0.1:6379> get system  //認證后,再次獲取鍵值,成功

"centos"

(5).配置持久化

  Redis工作時所有數據集都是存儲于內存中的。如果Redis崩潰或斷電會導致所有數據丟失,所以Redis提供了持久化功能來保證數據的可靠性。Redis持久化有兩種實現方法:RDB和AOF。

  RDB: 存儲為二進制格式的數據文件,是默認啟動的持久化機制;按事先定制的策略,周期性地將數據保存至磁盤。

  AOF:Append Only File類似于MySQL的二進制日志,記錄每一次redis的寫操作命令,以順序IO方式附加在指定文件的尾部,是使用追加方式實現的,這也叫做一種附加日志類型的持久化機制。由于每一次的操作都記錄,則會隨著時間長而增大文件的容量,并且有些記錄的命令是多余的。但是redis進程能夠自動的去掃描這個對應的AOF文件,把其中一些冗余的操作給合并一個,以實現將來一次性把數據恢復。

  RDB的配置其實上面已經說明過了,我這里再復制一下,如下。總共就6個配置點。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

/*

* 第218到220行,快照存儲策略,存到磁盤的持久化策略

*第一個數字是單位時間,單位為秒;第二個數字是鍵值發生變化的次數

* 例如第一個,900秒內至少發生1次鍵值變化,則做一次快照(持久化)

* 第二個就是,300秒內至少發生10次鍵值變化,則做一次快照(持久化)

* 所有條件是并列關系,根據不同的鍵值變化選擇使用規則

*/

save 900 1

save 300 10

save 60 10000

//第235行,在進行快照備份時,一旦發生錯誤是否停止,默認yes即可

stop-writes-on-bgsave-error yes

//第241行,指定RDB文件是否壓縮。yes表示壓縮,會消耗CPU資源

rdbcompression yes

/*第250行,是否對RDB文件做校驗碼檢測。

*此項定義在redis啟動時加載RDB文件是否對文件檢查校驗碼,在redis生成RDB文件是會生成校驗信息,在redis再次啟動或裝載RDB文件時,是否檢測校驗信息。

*如果檢測的情況下會消耗時間,會導致redis啟動時慢,但是能夠判斷RDB文件是否產生錯誤。

*/

rdbchecksum yes

//第253行,RDB文件名稱

 dbfilename dump.rdb

//第263行,RDB文件存放的路徑

dir /var/lib/redis

到此,相信大家對“CentOS7下怎么用yum安裝Redis”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绥宁县| 海兴县| 都匀市| 运城市| 金沙县| 池州市| 万载县| 长乐市| 呼图壁县| 自治县| 永平县| 冷水江市| 武清区| 伊通| 梨树县| 茂名市| 班玛县| 新沂市| 荔浦县| 富源县| 新河县| 巴彦县| 瑞昌市| 商河县| 青阳县| 漳平市| 永顺县| 波密县| 腾冲县| 福安市| 呼和浩特市| 慈利县| 正镶白旗| 武强县| 稻城县| 韶山市| 北票市| 巴青县| 阿拉善盟| 东方市| 永靖县|