Redis简介与在Linux上的安装配置

前提提要

  • 本博文Redis使用版本为redis-6.2.6
  • 虚拟机: VMware Workstation 16 pro
  • Linux系统版本:CentOS 7.6
    资料推荐:
    • Redis 教程
    • 官方网站
    • 《Redis设计与实现》

大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包。因此对于本博文中我们会基于Linux系统来安装Redis.

文章目录

  • 前提提要
  • 一. SQL 和 NOSQL区别
  • 二. 认识Redis
  • 三.在CentOS7上安装Redis6
    • 3.1 单机安装Redis
      • 第一步 安装Redis依赖
      • 第二步 下载Redis,并在Linux中解压
      • 第三步 几种启动方法
        • 1.默认启动
        • 2.指定配置启动
        • 3. 设置开机自启动
    • 3.2 Redis客户端与使用
      • 一. Redis命令行客户端
      • 二. 图形化桌面客户端
  • 四.总结

一. SQL 和 NOSQL区别

在当今日常的编码工作中,我们常用的是SQL(Structured Query Language)数据库,SQL型数据库是过去几十年间最惯用的数据库。现在主流的SQL主要有MySQL、SQLServer、Oracel等数据库。但是对于NoSQL数据库自从20世纪60年代就已经存在了,现在主流的NoSQL有MongoDB(文档类型), CouchDB, Redis(键值类型) 和Memcache,Neo4j(Graph类型),Hbase(列类型) f等数据库。

Not Only SQL

对于SQL型数据库,我们非常熟悉。而对于NoSQL,指的是非关系型的数据库,和SQL型数据库有所区分。NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。

Redis简介与在Linux上的安装配置_第1张图片

二. 认识Redis

但是对于我们这博文,主要介绍的NOSQL数据库就是键值对型数据库(Redis)。
Redis诞生于2009年全称是Remote Dictionary Server,远程词典服务器,是一个基于内存的键值型NoSQL数据库

他的主要特征有以下几个方面:

  • 键值(key-value)型,value支持多种不同数据结构,功能丰富
  • 单线程,在执行命令的时候是单线程的模式,每个命令具备原子性
  • 低延迟,速度快(基于内存、IO多路复用、良好的编码)。
  • 支持数据持久化
  • 支持主从集群、分片集群
  • 支持多语言客户端

三.在CentOS7上安装Redis6

3.1 单机安装Redis

第一步 安装Redis依赖

由于我们知道,Redis是基于C语言编写的,因此首先需要安装Redis所需要的gcc依赖:

yum install -y gcc tcl

第二步 下载Redis,并在Linux中解压

在官方文档中找到对应Redis版本的安装包,这里我选用的是Redis-6.2.6, 并将对应的压缩包放到/user/local/src(目录可以任意放,博主决定是这个目录。)

使用解码命令进行解压

tar -zxvf redis-6.2.6.tar.gz

在这里插入图片描述
这就得到了没有编译好的redis目录文件。

在对此文件进行编译。

进入到redis-6.2.6目录。运行编译命令:

make && make install

如果没有出错,就是运行成功了。
在编译成功之后,默认的安装位置在/usr/local/bin目录下。
Redis简介与在Linux上的安装配置_第2张图片
该目录已经默认配置到环境变量,因此可以在任意目录下运行这些命令:
其中

  • redis-cli:是redis提供的命令行客户端
  • redis-server:是redis的服务端启动脚本
  • redis-sentinel:是redis的哨兵启动脚本

第三步 几种启动方法

对于redis的其中方式有很多种,比如说有默认启动,指定配置启动,开机自启。

1.默认启动

对于默认的启动,在安装完成之后,由于/usr/local/bin目录已经默认配置到环境变量。所以在安装完成后,在任意目录输入redis-server命令即可启动Redis。

redis-server

如图是启动界面:
Redis简介与在Linux上的安装配置_第3张图片
但是,这种方式启动属于前台启动,会阻塞整个会话窗口,窗口关闭或者按下CTRL + C则Redis停止。不推荐使用。

2.指定配置启动

在除了上述的默认启动之外,我们还可以指定配置启动,我们的实现操作是指定一个配置文件redis.conf

如果要让Redis以后台方式启动,则必须修改Redis配置文件,就在我们之前解压的redis安装包下(/usr/local/src/redis-6.2.6),名字是redis.conf.
我们先修改对应的配置,然后在启动的时候,指定为当前配置文件启动即可。

保险起见,我们先备份一份redis.conf,在redis-6.2.6目录下使用命令:`

cp redis.conf redis.conf.backup

然后修改redis.conf文件中的一些配置:

# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes 
# 密码,设置后访问Redis必须输入密码
requirepass 123321

还有一些其他常见的配置:

# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"

最后,我们进行启动操作,最后带上配置文件:

# 进入redis安装目录 
cd /usr/local/src/redis-6.2.6
# 启动
redis-server redis.conf

停止服务

# 利用redis-cli来执行 shutdown 命令,即可停止 Redis 服务,
# 因为之前配置了密码,因此需要通过 -u 来指定密码
redis-cli -u 123321 shutdown
3. 设置开机自启动

通过上述两种方式,我们还可以设置开机自启动的模式来启动我们的redis。首先,新建一个系统服务器文件:

vi /etc/systemd/system/redis.service

在文件中配置我的service 如下:

[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

配置成功之后,我们就把系统服务重载一下,让其读取到我们配置的。

systemctl daemon-reload

现在,我们就可以通过操作系统服务的方式来操作我们的redis,
如下这几组命令:

# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis

之后,设置一下开机自启动,可以让redis开机自动启动:

systemctl enable redis

3.2 Redis客户端与使用

在通过上述步骤完成redis的安装之后,我们就可以操作redis进行对应的CRUD操作,这就需要客户端来进行完成。包括:

  • 命令行客户端
  • 图形化桌面客户端
  • 编程客户端

一. Redis命令行客户端

Redis安装完成后就自带了命令行客户端:redis-cli,使用方式如下:

redis-cli [options] [commonds]

其中常见的options有:

  • -h 127.0.0.1:指定要连接的redis节点的IP地址,默认是127.0.0.1
  • -p 6379:指定要连接的redis节点的端口,默认是6379
  • -a 123321:指定redis的访问密码

其中的commonds就是Redis的操作命令,例如:

  • ping:与redis服务端做心跳测试,服务端正常会返回pong

不指定commond时,会进入redis-cli的交互控制台:
在这里插入图片描述
但是,在通过这种方式进行进入的会有一个警告:
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
Redis简介与在Linux上的安装配置_第4张图片
就可以先不输入密码,然后进入到客户端时,在输入命令AUTH [你的密码]的方式输入密码。

二. 图形化桌面客户端

✍有非常多的redis桌面客户端,博主这里使用的是GitHub上的大神编写了Redis的图形化桌面客户端:https://github.com/uglide/RedisDesktopManager
但是,该仓库提供的是RedisDesktopManager的源码,并未提供windows安装包,如果要使用需要自己动手进行编译。

不过,在仓库中https://github.com/lework/RedisDesktopManager-Windows/releases
Redis简介与在Linux上的安装配置_第5张图片
将下载好的可运行文件直接双击安装。
Redis简介与在Linux上的安装配置_第6张图片
之后,直接打开客户端即可。
Redis简介与在Linux上的安装配置_第7张图片
最后,测试连接,看是否连接成功。
如果连接失败了,可能原因就是在Linux端没有放开端口,这里我直接把Linux防火墙给关闭。
通过命令:

systemctl stop firewalld 

Redis简介与在Linux上的安装配置_第8张图片
‍♂️点击连接就成功了。
Redis简介与在Linux上的安装配置_第9张图片
Redis默认有16个仓库,编号从0至15. 通过配置文件可以设置仓库数量,但是不超过16,并且不能自定义仓库名称。
如果是基于redis-cli连接Redis服务,可以通过select命令来选择数据库:

# 选择 0号库
select 0

四.总结

redis非常的重要,在实际开发中也要非常广泛的应用场景。所以,想通过这种方式,总结一下学习redis的重要知识点。

文章还有许多不足之处,欢迎指正。

参考博文:
Redis在linux上的配置
Redis在Linux上安装与启动
Redis是什么?看这一篇就够了

你可能感兴趣的:(从Redis实战看本质,redis,linux,数据库)