【Redis】Redis6.2.11安装与基本使用

  • Post author:
  • Post category:其他

Redis 安装与基本使用

Redis 简介

  • Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对(key-value)数据库。

  • 特点:

    1. 数据间没有必然的关联关系
    2. 内部采用单线程机制进行工作
    3. 高性能。官方提供测试数据,50个并发执行100000 个请求,读的速度是110000 次/s,写的速度是81000次/s。
    4. 多数据类型支持
      • 字符串类型 string
      • 列表类型 list
      • 散列类型 hash
      • 集合类型 set
      • 有序集合类型 sorted_set
    5. 持久化支持。可以进行数据灾难恢复

Redis 安装 (Linux)

  • 安装在Linux服务器中, 以centos 7为例

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

    yum install -y gcc tcl
    
    • 这个命令是在Linux系统中使用Yum包管理器安装gcc和tcl软件包。
    • gcc是GNU编译器集合,用于编写和编译C、C++和其他编程语言的程序,
    • tcl是一个脚本语言,可以用于创建各种不同类型的应用程序。
    • 通过执行这个命令,你可以轻松地在Linux系统中安装这两个软件包,并准备好开始编写和编译代码。
  • 请添加图片描述

    • 如果系统已经安装了gcc和tcl,并且gcc和tcl已经是最新版本,无需更新。因此,输出信息中显示“已安装并具有最新版本”,最后提示“无需进行任何操作”。可以认为该系统已经安装好了gcc和tcl软件包,并且它们已准备好在该系统上使用。

  • 去官网下载安装包 : https://redis.io/download/

  • 下载链接:https://download.redis.io/releases/redis-6.2.11.tar.gz

  • 可以使用 curl 命令或者 wget 命令。以下是两个命令的例子:

    • 使用 curl 命令:
    curl -O https://download.redis.io/releases/redis-6.2.11.tar.gz
    
    • 使用 wget 命令:
    wget https://download.redis.io/releases/redis-6.2.11.tar.gz
    

    两个命令的作用是相同的,都会下载该文件。其中 -O 参数表示将文件保存到本地,并使用远程文件名(即不改变文件名)。如果你想要指定本地文件名,可以将 -O 后面的参数替换成你需要的文件名。请注意,这些命令在 Linux 系统中通常已经预装。

    tips: curlwget 都是用于从网络上获取文件的命令行工具,它们的主要区别在于使用方式、功能和支持的协议等方面。

    一些常见的区别包括:

    • 使用方式:curl 命令更加灵活,可以执行更复杂的任务,例如发送 POST 请求或设置请求头信息。而 wget 命令则更加简单,可以快速下载整个网站或递归下载目录。
    • 支持的协议:curl 支持多种协议,包括 HTTP、HTTPS、FTP、IMAP、POP3、SMTP 等,而 wget 主要支持 HTTP、HTTPS 和 FTP 协议。
    • 功能:curl 命令提供了许多高级功能,如支持断点续传、HTTP 认证、代理、cookie 管理等。而 wget 命令则不支持所有这些功能,但提供了一些类似的选项。

    因此,在选择使用哪个命令时,需要根据具体的需求来判断。如果你需要一个强大且灵活的工具来处理各种网络请求,那么 curl 可能更适合你;如果你只是需要简单地下载文件或者整个网站,那么 wget 可能更适合你。

    • 这里以wget命令为例演示

    • 请添加图片描述

    • 已经下载成功!

  • 若是Linux下载过慢, 可以通过本地Windows电脑下载, 再通过MobaXterm软件上传到Linux服务器中

    • 请添加图片描述

解压压缩包

  • tar -xzf redis-6.2.11.tar.gz

  • 请添加图片描述

  • 进入redis目录,运行编译命令:

    • cd redis-6.2.11
      
    • make && make install
      
    • 请添加图片描述

  • 默认的安装redis软件是在 /usr/local/bin目录下:ll /usr/local/bin/

    • 请添加图片描述

    • 这个命令是列出 /usr/local/bin/ 目录下的所有文件和目录,其中 llls -l 命令的一个别名,表示以长格式显示目录内容。在Linux或Unix系统中,/usr/local/bin 是一个存放可执行文件的标准目录,通常用于安装自定义软件。使用该命令可以快速查看该目录下的所有文件及其相关权限、所有者、大小等信息。

    • 该目录以及默认配置到环境变量,因此可以在任意目录下运行这些命令。其中:

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

Redis 启动

redis的启动方式有很多种,例如:

  • 默认启动
  • 指定配置启动
  • 开机自启

默认启动

安装完成后,在任意目录输入redis-server命令即可启动Redis:

redis-server

如图:

请添加图片描述

这种启动属于前台启动,会阻塞整个会话窗口,窗口关闭或者按下CTRL + C则Redis停止。不推荐使用。

指定配置启动

如果要让Redis以后台方式启动,则必须修改Redis配置文件,就在我们之前解压的redis安装包下文件名为redis.conf

请添加图片描述

我们先将这个配置文件备份一份(以后出啥问题可以改回来):

cp redis.conf redis.conf.bck

请添加图片描述

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

输入vi redis.conf 进入vi编辑器,配置内容如下:

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

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

如找不到则可以用搜索功能, /bind即/加搜索的名称,即可跳到对应的内容。按a进入编辑

在vi编辑器中,搜索文本是通过在命令模式下使用“/”或“?”命令来实现的。搜索操作处于命令模式下。

使用“/”命令可向前搜索指定的字符串,而使用“?”命令则向后搜索指定的字符串。在执行搜索操作后,用户可以使用n和N命令来查找下一个或上一个匹配项。

请添加图片描述

  • 将bind 127.0.0.1注释掉, 添加bind 0.0.0.0

ESC退到命令模式下, 继续搜索\daemon

请添加图片描述

  • 守护进程,修改为yes后即可后台运行 daemonize yes

请添加图片描述

  • 修改密码: 12345678

请添加图片描述

  • 添加日志文件

请添加图片描述

修改上述四处即可, 其余的可按需求修改。按Esc键, 输入:wq保存并退出

启动Redis:

# 进入redis安装目录 , 主要是用到redis.conf文件
cd /home/mydownload/redis-6.2.11
# 启动,使用配置文件的形式启动
redis-server redis.conf

使用 ps -ef | grep redis查看启动的redis的进程

请添加图片描述

停止服务:

# 利用redis-cli来执行 shutdown 命令,即可停止 Redis 服务,
# 因为之前配置了密码,需要输入密码
# 执行命令 redis-cli -h <hostname_or_ip> -a <password> shutdown
#其中的hostname可以使用下面的命令查看
hostname
#再输入
redis-cli -h localhost.localdomain -a 12345678 shutdown
# 查看redis进程
ps -ef | grep redis

请添加图片描述

开机自启

我们也可以通过配置来实现开机自启。

首先,新建一个系统服务文件:

vi /etc/systemd/system/redis.service

内容如下:

按A插入文本, 输入下面的内容, 可以直接复制(在MOBAXterm中)

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

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /home/mydownload/redis-6.2.11/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

上述内容用于启动和管理Redis服务器进程。

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

这部分定义了服务的名称和它所依赖的其他服务(在这里是网络服务)。当系统启动时,所有必须的服务都要先启动,然后才能启动当前服务。

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /home/mydownload/redis-6.2.11/redis.conf
PrivateTmp=true

这部分定义了服务的类型、启动命令和服务是否使用私有临时文件。Type=forking表示该服务会fork一个子进程来运行Redis服务器,而父进程将退出。ExecStart指定了服务的启动命令,即通过在终端中执行的命令,以启动Redis服务,ExecStart=/usr/local/bin/redis-server /home/mydownload/redis-6.2.11/redis.conf,其中/usr/local/bin/redis-server这个是系统安装redis软件的默认路径,/home/mydownload/redis-6.2.11/redis.conf为我们修改的配置文件的路径,注意配置文件的路径, 根据自己修改的配置文件的路径修改。PrivateTmp=true表示服务将使用私有的临时文件夹。

[Install]
WantedBy=multi-user.target

这部分将服务安装在系统启动时需要启动的目标文件中,以确保在系统重新启动时自动启动服务。在这种情况下,服务将在多用户目标(multi-user.target)下启动。

请添加图片描述

ESC键,输入:wq保存并退出,然后重载系统服务:

systemctl daemon-reload

请添加图片描述

现在,我们可以用下面这组命令来操作redis了:

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

请添加图片描述

执行下面的命令,可以让redis开机自启:

systemctl enable redis

请添加图片描述

Redis客户端

安装完成Redis,我们就可以操作Redis,实现数据的CRUD了。这需要用到Redis客户端,包括:

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

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

输入redis-cli -a 12345678 进入Redis命令行客户端

请添加图片描述

或者不指定commond时,会进入redis-cli的交互控制台:再输入auto 12345678 进入Redis客户端的命令行

请添加图片描述

基本命令

  • 信息添加: set key value

    • 功能:设置 key,value 数据
  • 信息查询: get key

    • 功能:根据 key 查询对应的 value,如果不存在,返回空(nil)在Redis中nil就是null
  • 清除屏幕信息: clear (Linux系统下的命令, Windows的命令行清屏是cls)

    • 功能:清除屏幕中的信息
  • 退出客户端命令行模式: quit 或 exit 或<ESC>键

    • 功能:退出客户端
  • 帮助

    • 功能:获取命令帮助文档,获取组中所有命令信息名称

    • help 命令名称
      help @组名
      

请添加图片描述

Redis默认有16个仓库,编号从0至15. 通过配置文件可以设置仓库数量,但是不超过16,并且不能自定义仓库名称。

  • 如果是基于redis-cli连接Redis服务,可以通过select命令来选择数据库:
# 选择 0号库
select 0

请添加图片描述

请添加图片描述


版权声明:本文为honorzoey原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。