1. Redis简介

    Redis 是完全开源免费的,遵守BSD协议(一种开源协议),基于key-value存储的单进程单线程的NoSQL(泛指非关系型)型数据库。Redis由ANSI C语言编写,可基于内存亦可持久化,支持订阅、事务等功能,同时提供多种语言的API,如JAVA的Jedis包等。
    敲黑板重点:免费不要钱,key-value存储,单线程,非关系型基于内存

    Redis的优势和特点主要包括以下几个方面啦:
1)性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s ;
2)丰富的数据类型 – Redis支持的类型包括 String, List, Hash, Set 以及Zset等等;
3)原子性 – Redis的所有操作都是原子性的,也就是说,Redis的某一个操作要么成功执行要么失败完全不执行。单个操作是原子性的,多个操作同样包括原子性的事务;
4)丰富的特性 – Redis还支持持久化,订阅,通知,集群,等等丰富特性。

2. Redis安装、配置与启停

    笔者是从Windos10系统下载的Redis包,通过WinSCP将Redis安装包上传到自己的阿里云服务器,再基于服务器的Linux系统进行的安装操作。

2.1 前期准备

    由于Redis是由C语言开发,因此操作系统首先要具备gcc环境,如果和笔者一样是一台超级崭新的系统的话,需要采用以下命令进行安装:

yum -y install gcc automake autoconf libtool make

    另外,既然是安装的话,那肯定必不可少地需要一个安装包啦,安装包既可以通过命令直接下载:

wget http://download.redis.io/releases/redis-X.X.X.tar.gz

PS:X.X.X代表你想要下载的版本号 同时,也可以从本地上传(实际上我下载了N次也没下载成功,只能用WinSCP从本地传到服务器了…),关于WinSCP的使用网上有很多教程,
    笔者下载的是4.0.14版本,最终我把它放在了服务器的/usr/local/redis/文件夹下。万事俱备,接下来可以进行安装啦(兴奋地搓搓手)。

2.2 安装

1.进入到对应目录后,首先要把安装包解压:
tar -zxvf redis-4.0.14.tar.gz
2.由于Redis是C语言编写,所以还需要对其进行编译:
cd redis-4.0.14
make MALLOC=libc
3.编译成功后,就可以进行安装了:
cd redis-4.0.14
make PREFIX=/usr/local/redis install

PS:PREFIX后面就是目标安装地址,笔者把他们和安装包放在了一起
    这样,Redis就成功安装了~

2.3 配置

    在运行Redis之前,使用者可以对Redis进行配置,配置文件在解压后安装包内,可以进入解压包内将其复制到安装文件的目录下,使之与Redis的bin目录处于同一个包内:

cp redis.conf /usr/local/redis

    如果需要对配置文件进行修改,可以在对应文件夹内输入以下命令进入文件:

vim redis.conf

通过输入/进行查找,找到待修改的位置后按i进入insert模式,修改结束后按Esc退出insert模式,最后通过:wq关闭文件。
    配置参数的本质依旧是key-value对,修改配置参数即对特定的key中的value进行设置与修改,笔者认为常用的配置参数有以下这么多(毕竟太多了也记不过来,有需要直接百度就好~):

  • daemonize: 默认为no(非守护进程),可以将其修改为yes来启用守护进程;
  • port: 指定Redis监听端口,默认端口为6379;
  • bind: 绑定IP地址,本机IP为127.0.0.1;
  • databases: 数据库数量,默认为16;
  • save :指定多少时间、有多少次更新操作,就将内存数据同步到数据文件;
#redis默认配置有三个条件,满足任意其一即可进行持久化
save <second> <changes>
save 900 1                #900s内有1次更改
save 300 10               #300s内有10次更改
save 60 10000             #60s内有10000次更改
  • dbfilename :本地数据库的文件名,默认为dump.rdb;
  • dir :本地数据库的存放目录,默认为./当前文件夹;
  • requirepass :设置客户端连接密码,默认关闭;
  • maxclients:同一时间内最大客户端连接数,默认无限制
  • maxmemory:指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,如果仍然满存,将无法再进行写入操作,但仍然可以进行读取操作;
  • appendonly:指定是否在每次更新操作后进行日志记录,Redis在默认情况下(no)异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。开启appendonly后(yes),在Redis重启后,会先执行日志内容,从而防止数据丢失。

2.4 启动与关闭

    配置结束后,便可以启动Redis啦,可以通过下述指令启动服务器程序。

/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf

当然,文件前缀会根据目前所处文件夹的不同而不同。

    接下来,通过下述指令来进行客户端访问:

/usr/local/redis/bin/redis-cli -h host -p port -a password

PS:host为服务器IP,port为端口号,password为访问密码
    关闭Redis时提供正常关闭与非正常关闭方式:

#正常关闭
shutdown
#非正常关闭
kill -9 PID

其中,Redis服务器程序的PID号可以通过以下指令查询:

ps -ef|grep -i redis