Redis——01

主要学习目标:

  1. Redis 的特点以及使用场景
  2. Redis 单机版
  3. Redis 常用命令
  4. ~ 持久化策略
  5. ~ 主从复制
  6. 哨兵
  7. 集群
  8. Jedis
  9. SpringDataRedis

Redis 的特点以及使用场景

1. NoSQL 简介

关系型数据库为当前主流的数据存储。但是操作关系型数据库都需要进行频繁的 I/O 操作,也是主要影响系统性能的原因之一,并且与数据库的连接和关闭也是需要消耗性能的。即使有了连接池技术,在某些特定的场景下依旧会影响。

所以出现了 NoSQL (Not Only SQL,不仅仅可以使用关系型数据库) 数据库,一些特定的场景使用 NoSQL 会更好。也就是 非关系型数据库,尽量规避对文件进行频繁的 I/O 操作,提升性能。


【资料图】

常见的 NoSQL 数据库:

2. Redis 简介

Redis 以 Key-Value形式进行存储的 NoSQL 数据库,使用C 语言进行编写,主要操作的数据都在内存中,效率非常高,所以大多情况下Redis 作为缓存工具使用

Redis 以 solt (槽)作为数据存储单元,并没有大小限制,每个槽中可以存储 N 多个键值对。Redis 固定具有 16384个槽,因为槽没有大小限制,只有个数限制,理论上可以实现一个槽是一个 Redis。

Redis 的安装(Linux——CentOS 7.x)

1. 安装 C 语言需要的依赖

Redis 由 C 语言编写,所以需要安装 C 语言库

yum install -y gcc-c++ automake autoconf libtool make tcl

2. Redis 程序主体安装包

查看官网历史版本,这里使用的是 5.0.5,移到 Linux 中。

使用命令将其解压:

tar -zxf redis-5.0.5.tar.gz

会多处一个目录,里面就是 redis 的源码目录,但是此时都是源码(C 语言),还不是应用,需要再安装一下。

在当前目录下执行make命令,会按照 Makefile来对其进行编译成可执行文件。

等编译结束后,就可以开始 Redis 正式的安装了。

make install PREFIX=安装路径

如果没有 PREFIX 的话默认安装时当前路径,但是当前这个目录时 Redis 的源码包,不是很合适,所以可以找一个目录将其作为安装目录。

查看安装的Redis路径的文件:

3. Redis 的启动

启动 bin/redis-server即可:

默认前台启动,这个窗口是不能关的。

上面显示了 Redis 的一些基本信息:

接下来开始测试一下客户端是否能连接上:

启动 Redis 的客户端

bin/redis-cli

现在表示已经连接上了,quit 退出。

在服务端 ctrl + c退出时,发现打印了一些信息:

大概意思是用户请求关闭 Redis 服务,在退出前进行了 RDB 快照保存在了磁盘上。

此时查看目录会发现多了一个文件:dump.rdb,这个是 Redis 帮我们做的一个内存快照,默认情况下会每隔一段时间做一次,以及在关闭服务前做一次,为的是如果服务器宕机,重新启动 Redis 会自动加载 dump.rdb将数据库恢复到上一次做内存快照的状态。可以在 conf 文件中配置相关参数。

需要注意的是:dump.rdb 文件生成的位置。

你的 redis 服务器在哪个路径下启动的,dump.rdb 就生成在哪,如果换个路径启动,则 dump.rdb 会重新生成,或者如果没有的话启动就不会加载 dump.rdb。

4. 修改 redis.conf 文件

之前编译 redis 的目录中有一个 redis.conf文件,是 redis 配置文件模板,我们将其复制一份到 redis 的安装目录中进行集中管理。

修改的地方:

启动 redis 并指定配置文件:

bin/redis-server redis.conf

这个配置文件的指定可以是相对路径和绝对路径,所以按理来说 redis.conf在任意位置都行。

启动效果:

查看当前 redis 进程状态:

ps aux | grep redis

可以看到 redis-server 的端口是:6379,此时在后台运行。

那么怎么关闭呢?

redis-server 并没有直接的关闭指令,但是可以通过 redis-cli 发送一个命令给 server 让其关闭。

推荐内容