【日常扯皮】
其实在写这篇文章之前一直在纠结要不要写Redis系列,首先我并不认为我比别人懂得多或懂的深,我只是一名再普通不过的码农,行业有多卷相信大家都清楚,遍地都是一株草可斩星辰的大佬,我多少有点班门弄斧的感觉,但看到自己上篇文章帮助了很多人,我觉得还是很有分享的必要,一来是为了帮助那些只闻其名,不知其用的同学,或者只是知道,但很少用过的同学能自己搭建并灵活运用这个神器,其次也是我自己对Redis的复习总结。虽然Redis的内容博大精深,但我会分多个章节带大家一点一点征服它,知无不言,言无不尽。有不对或者不足的地方,也欢迎大佬补充。感谢各位看官。扯皮到此结束。
【进入正题】
一、安装环境
在安装Redis之前先给大家介绍一下我安装Redis的环境,我是使用的Oracle VM VirtualBox虚拟机,里面装了一个CentOS镜像。大家也可以使用别的虚拟机软件,不差钱的可以直接买一个云服务器,不需要安装配置,直接就能用。但本地测试玩玩还是建议虚拟机,因为没必要。需要安装配置虚拟机教程的可以在底下评论留言,人多的话我就出一期教程。当然,别的大佬也有分享。看别的大佬看不明白的,我教!(请把帅扣在留言区)
二、下载安装
我用的是老版本的Redis,3.0.7的,3.2版本之后有很多更新,大家下载的话建议下载新版本的redis。
下载链接:Download | Redis
也可以直接在虚拟机里下,如下:
$ wget http://download.redis.io/release/redis-3.0.7.tar.gz
$ tar xzf redis-3.0.7.tar.gz
$ ln -s redis-3.0.7 redis
$ cd redis
$ make
$ make install
1)下载redis指定版本的源码压缩包到当前目录
2)解压缩redis源码压缩包
3)建立一个redis目录的软连接,指向redis-3.0.7
4) 进入redis目录
5)编译(编译之前确保操作系统已经安装了gcc)
6)安装
这里有两点需要注意(敲黑板):第一,第三步中建立了一个redis目录的软连接,这样做是为了不把redis目录固定在指定版本上,有利于redis以后升级,也算是安装软件的一种好习惯;第二,第六步中的安装命令是将redis的相关运行文件放到/usr/loacl/bin目录下,这样就可以在任意目录执行redis的命令。比如,安装后你可以在任意目录下执行redis-cli -v查看redis版本
三、启动redis
redis有三种方法启动,分别是:默认配置、运行配置、配置文件启动
默认配置(一般不用):redis-server
运行配置(二般也不用):redis-server --configKey1 configValue1 --configKey2 configValue2
例:redis-server --port 6380(在6380端口启动redis)
配置文件启动(说不常用你们也不信):redis-server /redis安装目录/redis.conf
redis.conf是redis的总配置文件,在redis的安装目录中。那么就有同学问了,第二种运行配置启动不也是配置启动吗?为什么一定要用配置文件启动呢?redis有60多个配置,虽然你不可能把所有配置都要敲出来,但是敲一两个也麻烦不是,如果配置比较多,得敲到什么时候去。所以一般都是用配置文件启动,把需要配置的都配置到redis.conf中。
从图中可以看到,我们的redis启动的端口是6379,版本是3.0.7,pid是1350。redis的服务端命令有很多,但不是今天讲。我们后面会讲。启动之后我们就可以另起一个窗口使用redis客户端做一个简单的测试。redis客户端启动命令是redis-cli -h 主机 -p 端口号
如图,我们使用本地127.0.0.1主机启动redis客户端,端口号就是刚刚看到的6379。我们往里面简单设置了一个键值对。到这里,redis启动就完成了。
四、关闭redis
$ redis-cli shutdown
redis的关闭命令如上。需要注意的是不是在redis里面执行这个命令,是ctrl+c退出redis客户端之后执行这个命令,在redis客户端里面执行这个命令会奖励你一个error,如图
关闭redis之后我们可以看一下服务端
1)用户请求关闭redis
2) 保存RDB持久化文件(RDB是redis持久化的一种方式,后面会讲)
3)RDB文件已保存到了磁盘
4)撒由那拉
当再次使用redis-cli叫它的时候,我们发现,它已经“失联”了
到这里,redis的安装与启动就讲完了,有没有很简单。有什么问题或者有什么不对的地方,欢迎大家在留言区留言补充(记得三连!!!创作不易,感谢)。下期我打算不着急讲redis的命令和使用,我打算讲一下redis的特性和它的数据类型,内部编码这些。因为我觉得想用好一样东西,懂它的内涵是至关重要的。