NoSql,全名:Not Only Sql,是一种非关系型数据库,它不能替代关系弄数据库,只是关系型数据库的一个补充,是可以解决高并发、高可用、高扩展、大数据存储等一系列问题而产生的数据库解决方案。
1 redis简介
Redis是NoSql的一种,在弄清楚Redis是个什么玩意之前,先了解下NoSql是什么。
NoSql,全名:Not Only Sql,是一种非关系型数据库,它不能替代关系弄数据库,只是关系型数据库的一个补充,是可以解决高并发、高可用、高扩展、大数据存储等一系列问题而产生的数据库解决方案。
NoSql有以下4种分类:键值(Key-Value)存储数据库、列存储数据库、文档型数据库、图形(Graph)数据库。而Redis属于第一种:键值(Key-Value)存储数据库。
Redis是使用c语言开发的一个高性能键值数据库,即通过一些键值类型来存储数据。Redis支持的键值类型有:String字符类型、map散列类型、list列表类型、set集合类型、sortedset有序集合类型。
redis的应用场景如下:缓存(数据查询、短连接、新闻内容、商品内容等等)、分布式集群架构中的session分离、聊天室的在线好友列表、任务队列。(秒杀、抢购、12306等等)、应用排行榜、网站访问统计、数据过期处理(可以精确到毫秒)。其中,作为缓存的应用场景是最多的。
2 redis 安装
可以到redis的官网找到各个Redis版本的下载地址,如:http://download.redis.io/releases/redis-4.0.11.tar.gz
2.1 下载压缩redis
1 | wget http://download.redis.io/releases/redis-4.0.11.tar.gz |
2.2 解压
1 | tar -zxvf redis-4.0.11.tar.gz |
2.3 编译安装redis
进入redis源码:
1 | cd redis-4.0.11 |
2.4 对源码进行编译
make
使用make命令编译Redis需要c语言环境,CentOS自带c语言环境,若是使用其他Linux系统中没有c语言环境,则需要安装,如yum安装: yum install gcc-c++
编译过后,就是安装了,安装Redis的命令如下:
1 | make install PREFIX=/usr/local/redis |
该命令中,前面的”make install PREFIX=”是固定的,而”/usr/local/redis”是Redis的安装目录,一般就这么写,如若需要安装在其他地方,只需将此路径更换即可。
最后,查看Redis是否安装成功:
1 | cd /usr/local/redis/ |
使用ll命令,可以看到bin文件夹,说明Redis已经安装成功。
3 redis 启动与停止
redis 安装好后,进入安装目录文件夹,会发现里面有6个可执行文件
它们对应着6个管理Redis的工具:
3.1 redis6个管理工具
3.1 redis-server
该工具用于启动Redis服务器,处理与客户端的对话,一个服务器可以与多个客户端连接。
3.2 redis-cli
该工具用于启动Redis客户端,发起与服务器的对话。可以使用参数来指定目标服务器的详细信息,例如使用参数“-h”指定服务器IP地址、“-p”指定服务器端口、“-a”指定登录密码等,
3.3 redis-benchmark
该工具用于测试Redis在本机的性能,类似于鲁大师的跑分程序。运行之后会得到一组数据存取效率的报告:
3.4 redis-check-aof
Redis虽然是基于内存的数据库,但是会创建并更新在硬盘上的备份,备份有两种方式,一个是把内存的数据导入dump.rdb文件中,另一中就是将每个执行过的命令记录到AOF文件中。
3.5 redis-check-dump
与Redis-check-aof类似,该工具用于检查dump.rdb文件。
3.6 redis-sentinel
该工具提供Redis实例的监控管理、通知和实例失效备援服务,是Redis集群的管理工具,监控各个其他节点的工作情况并且进行故障恢复,来提高集群的高可用性。
3.2 后端启动与停止
第一步,需要把redis源码目录下的redis.conf文件复制到redis安装目录的bin目录下。
第二步,修改redis.conf文件,将daemonize的值改为yes后保存。(daemonize: 是否后台启动)
1 | [root@localhost bin]# vim redis.conf |
3.2.1 后端启动
1 | [root@localhost bin]# ./redis-server redis.conf |
可以发现后端启动命令就只是比前端启动命令多了” redis.conf”,意思很明确,就是让redis根据这个配置文件的配置运行罢了,同时也可以看到,在启动完redis后台,终端不会进入redis控制台,这就是将redis运行后台了,我们可以查查看系统现在是不是有redis的进程:
1 | [root@localhost bin]# ps -aux | grep redis |
3.2.2 后端启动的关闭命令
1 | 强制关闭:[root@localhost bin]# kill -9 进程id |
因为后端启动redis,没办法像前端启动redis那样直接ctrl+c强制关闭redis,如果需要强制关闭,那只能通过杀死进程的方式停止redis。而正常关闭redis的命令与前端关闭一样。
4 redis客户端
在前面介绍redis安装目录下bin目录的结构时,就已经标记出了redis的客户端,它就是redis-cli。这个客户端有两个常用的功能:
- 用来正常关闭redis服务。
- 让终端进入redis控制台(后台运行redis的场景下用到)。
4.1 启动
1 | [root@localhost bin]# ./redis-cli -h 127.0.0.1 -p 6379 |
- -h:指定访问的redis服务器的ip地址
- -p:指定访问的redis服务器的port端口
如果使用的ip地址与端口都是默认的,则上述命令可以这么写:
1 | [root@localhost bin]# ./redis-cli |
使用默认配置:默认的ip【127.0.0.1】,默认的port【6379】