当前位置: 首页 > news >正文

Redis安装教程

写在前面

这个关于redis的安装教程,可能会有一些啰嗦,会说一些和安装相关不大的内容,但是我同样希望大家能够认真的看完,因为本文章的目的不仅仅是让你安装上redis,是要让你明白安装中每一步的操作代表什么意思,等你出现其他问题时能够快速的找到问题所在,同时也希望你能在此次安装的过程中学到一些通用的安装方法。

什么是Redis

Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。Redis 是一个高性能的key-value数据库,属于NoSQL的一种。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。它跟memcached类似,不过数据可以持久化,而且支持的数据类型更丰富。有字符串,链表,集合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。

redis安装教程

下载redis

官网链接:https://redis.io/
在这里插入图片描述

下载链接:https://redis.io/download/

在这里插入图片描述

我这次选择安装的是6.2.7的版本
一般我们学习使用稳定版本就可以,新版本可能会有一些bug,这些bug在网上可能也没有解答方式
通常的建议就是先学会基础的用法,如果有需要再学习新版的的新特性

在这里插入图片描述

然后通过Xftp 传到Linux系统中opt文件里
注意:不是必须放在opt文件夹下,你可以根据自己得习惯进行调整,后面命令中涉及到的路径记着改就行。

在这里插入图片描述

上面的操作的作用就是为Linux下载redis的源码包,如果不想使用这种,也可以在Linux下使用对应的指令下载

在线下载

wget https://download.redis.io/releases/redis-6.2.7.tar.gz

在这里插入图片描述

安装前的准备

因为redis是C语言开发的,安装的时候需要使用C语言的环境进行编译,所以我们首先要确保自己的Liunx系统中有gcc

查看系统中是否有gcc

# 查看gcc 的版本
gcc -v

系统中如果有gcc会有如下操作

在这里插入图片描述

如果没有gcc只需要安装一个就可以
在linux终端中输入yum install gcc 安装gcc,在安装的过程中会需要输入几次y
注意:安装gcc是需要联网的

安装redis

解压缩redis源码包

下面的指令选择其中之一就可以,不过需要自己记着解压后的目录,我这里就选择解压到了当前目录opt

# 解压到当前文件夹
tar -zxvf /opt/redis-6.2.7.tar.gz 
# 解压到指定文件夹,最后加上-C 以及目标目录
tar -zxvf /opt/redis-6.2.7.tar.gz -C /tmp

在这里插入图片描述

通常我们再Linux中安装安装软件时,都会涉及到解压缩,记住这解压的命令会对以后有很大的帮助

编译redis源码包

进入redis-6.2.7目录中

cd redis-6.2.7

执行编译,编译过程会花费一段时间

make

在这里插入图片描述
在这里插入图片描述

安装redis

编译完成之后我们就可以直接使用redis,但是此时redis服务在src目录下,里面不仅有服务,还有一些其他的文件,比较杂乱,可能会对以后的操作有影响,所以我推荐使用方式二,将redis安装到其他目录

方式一

进入/opt/redis-6.2.7/src
我们先查看一下src下的文件目录
在这里插入图片描述

  • 启动服务端
    这种方式启动的服务端,该窗口不能关闭,关闭窗口redis服务也会关闭,如果要测试则需要打开另一终端,在新的终端中启动客户端
redis-server

在这里插入图片描述
退出方式 ctrl+c 停止服务

  • 启动客户端
redis-cli

在这里插入图片描述
客户端退出的方式就比较多了quitexitctrl+c

方式二

安装我们需要选择一个安装目录,一般都安装在在/usr/local/对应的软件名
此时在编译后的源码包里面

# 如果/usr/local下面没有redis的文件夹会自动创建一个
make install PREFIX=/usr/local/redis

此时我们进入到/usr/local/redis/bin中查看

这里的结构就简单多了

在这里插入图片描述
启动服务器

# 在bin目录下的启动方式
./redis-server
# 在其他目录下启动
/usr/local/redis/bin/redis-server

其实这个启动就是运行redis-server文件
同样启动客户端就是运行redis-cli文件,下面就不演示客户端的启动了

redis服务器后台启动

通过上面我们可以发现客户端的启动之后不太友好,关闭窗口redis服务就关闭了,

配置redis.config文件
为了出现意外情况,我们从编译后的源码包中复制一个新redis.config到/usr/local/redis/bin/目录下,这样就算我们改错了也有备份文件
复制文件

# 复制文件
cp /opt/redis-6.2.7/redis.conf /usr/local/redis/bin/

为什么会出现窗口关闭,服务就关闭的情况?
原因就是此时的redis服务进程随着关闭窗口,此时的进程也被强制关闭了。
知道了服务关闭的原因解决方式就明显了,我们只需要始终守护当前redis,server的服务进程就能够保证服务不被关闭。

redis.conf配置文件中的有一个 daemonize参数代表进是否守护进程
Redis默认不是以守护进程的方式运行,可以通过该配置项修改,启用守护进程
daemonize no > daemonize yes

修改文件中的内容
使用vi进入redis.conf文件,找到daemonize nono改为daemonize

vi redis.conf

位置大概是260行左右
显示行号的指令 :set nu (不显示也行,只要你能找就可以)

在这里插入图片描述

防止有人不会操作
这里就简单说一下怎样编辑
使用 vi redis.conf进入文件 > 找到对应的位置 > 按键盘上的 i进入编辑模式 > 将no改成yes > 按键盘上Esc键退出编辑模式 > 按shift+:输入: > 继续输入wq保存并退出 > 回车
这只是简单的说明,vi的具体用法可以自行百度

启动软件
这次启动软件的时候需要加上配置文件

/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis-server
# 这个命令的大概意思就是,运行redis-server时,加载redis-server配置文件

在这里插入图片描述
此时你会发现并没有出现redis的图标,此时redis.server服务已经在后台启动,
我们可以打开客户端测试一下
在这里插入图片描述

到这个时候安装redis的安装已经结束了,我们可以正常的使用redis数据库了,不过需要保证redis的服务端是启动的状态

关于redis的使用方式,大家可以关注我以后的博客。

相关文章:

  • 分享30个有趣的 Python小游戏,我能玩一天
  • linux调试器——gdb
  • C#基础网络请求
  • 数字IC设计 -01- 数字集成电路基础
  • 不是所有数据增强都可以提升精度
  • 某大学作业
  • vue3【watch检测/监听】watch检测数据变化监听使用
  • anylogic 学习(2)—— 简单行人库上楼模型
  • ubuntu 20.04 qemu linux6.0.1 制作ext4根文件系统
  • C/C++程序的内存布局
  • Vision Transformer论文精读(1/2)
  • python中定时任务apscheduler库用法详解
  • STM32:串口发送+串口接收(内含:查询法+中断法+思路图+代码部分)
  • C语言——经典200道实例(16-20)
  • Python如何快速定位最慢的代码?
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 2017前端实习生面试总结
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • JavaScript 基础知识 - 入门篇(一)
  • JavaScript设计模式系列一:工厂模式
  • SpiderData 2019年2月16日 DApp数据排行榜
  • 当SetTimeout遇到了字符串
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 我感觉这是史上最牛的防sql注入方法类
  • 我有几个粽子,和一个故事
  • 小程序01:wepy框架整合iview webapp UI
  •  一套莫尔斯电报听写、翻译系统
  • 在weex里面使用chart图表
  • 06-01 点餐小程序前台界面搭建
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ​520就是要宠粉,你的心头书我买单
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (三十五)大数据实战——Superset可视化平台搭建
  • (数据结构)顺序表的定义
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转载)CentOS查看系统信息|CentOS查看命令
  • **PHP二维数组遍历时同时赋值
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .mysql secret在哪_MySQL如何使用索引
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .net refrector
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .net连接MySQL的方法
  • .net专家(张羿专栏)
  • /etc/fstab和/etc/mtab的区别
  • []利用定点式具实现:文件读取,完成不同进制之间的
  • [100天算法】-实现 strStr()(day 52)
  • [2544]最短路 (两种算法)(HDU)