(1).Redis概述

  Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value(键值型)数据库(非关系型数据库),并提供多种语言的API。

  Redis是一个高性能的Key-Value数据库。它的出现很大程度补偿来Memcached这类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

相关文章: