在Linux环境的虚拟机下安装Redis
前言
Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
所以在要想在Linux环境下编译,首先要配置要C语言的环境,也是要安装好GCC编译器,具体方法可以在晚上自行查找,在这里就不多介绍
1.Redis安装包的准备
前往 https://download.redis.io/releases/ 下载所需要的版本
2.连接虚拟机客户端(这里采用SercureCRT)
3.上传redis的压缩包到虚拟机
- 命令行中输入 “rz”
- 选择刚才下载好的 redis压缩包
- 点击 ”添加“ ——— “确定“
- 点击标题中的 “传输” —— “开始Zmodem上传”
上传成功如下:
4.解压并删除 redis 压缩包
- 1.命令行输入如下命令解压 压缩包
tar -zxvf redis-3.0.0.tar.gz
- 2.命令行输入如下命令删除 压缩包
rm redis-3.0.0.tar.gz //输入该命令若弹出询问 输入 'y' 确定删除压缩包
5.编译Redis
- 输入如下命令进入redis 目录下:
cd redis-3.0.0 //进入redis目录下
- 输入如下命令进行编译:
make // 确保在redis目录下可以输入'll' 命令查看
- 编译好后如下图:
-
6.开始 Redis真正的安装
- 1. 在/usr/local 下创建一个空文件夹用于存放redis文件(我这里放在了 /usr/local/server/redis 下)
mkdir /usr/local/server //在local 下创建server文件夹
mkdir /usr/local/server/redis //在server 下创建redis文件夹
- 2.输入如下命令 进入刚才压缩包解压的文件目录位置
cd redis-3.0.0
- 3.输入如下命令 进行redis的安装
make PREFIX=/usr/local/server/redis install
- 4.出现如图则代表安装成功!!!
7.创建并修改配置文件
我们解压后的文件目录中已经存在redis的配置文件,所以我们之间将已有的配置文件拷贝的到我们自己redis的安装目录下
- 1.输入如下命令 拷贝配置文件
cp redis-3.0.0/redis.conf /usr/local/server/redis
- 2.输入如下命令 进入redis文件目录
cd /usr/local/server/redis
- 3.输入如下命令 编辑redis.conf 配置文件
vim ./redis.conf
- 4.找到 “daemoize no” 这一行然后按 ‘I’ 进入INSERT 模式 修改配置文件,将 no 改成yes,开启后台服务
- 5.按‘ESC’退出编辑模式,在英文输入法下输入‘:wq’ 保存修改
8.开启Redis 服务以及客户端
1.输入如下命令 进入redis 目录下
cd /usr/local/server/redis
2.输入如下命令 使用配置文件并开启redis服务
./bin/redis-server ./redis.conf //要在redis目录下
3.输入如下命令 开启redis客户端
./bin/redis-cli //要在redis目录下
4.出现如下界面表示redis启动成功
- 5.输入 “ping” 测试 返回 “pong” 说明Redis 成功启动!
写在最后
1. 总的来说Linux环境下安装Redis的过程并不复杂,耐心一点就行了
2. " GCC编译器环境是一定要装的" ,至于原因涉及到编译原理的相关问题(自我理解):
文章开头提到过 Redis 是用C语言来编写的,而C语言属于“编译型语言”,由于系统的不同,底层设计的机器指令肯定也有区别,那么代码翻译成的01串对于不同系统而言也有着不同意思。对于整个编译过程来说可以分成编译前端和编译后端。 前端只与源语言有关,与目标机器无关。后端与源语言无关,依赖于中间语言和目标机器。为了实现同种语言的跨平台使用,我们可以采用某一编译程序的前端,配上不同的后端的方式。
我们看一下有关GCC的百度百科:GCC(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等。)
阅读完之后心里就大概有个数了吗,简介的说就是,为了让redis能跨平台得在Linux下编译成可执行文件,需要借助GCC编辑器将Linux系统看不懂的代码 翻译 成能看得懂的代码,再由Linux系统底层写好的机器指令去得到目标程序
3. 才疏学浅,上面也是我自己的理解。不正确的地方也非常欢迎大家指出
.