目录

一、NoSQL

NoSQL

特点

使用场景

二、Redis介绍

简介

特性

使用场景

三、Redis安装

1、下载

2、安装

3、启动、停止

4、补充

四、key键操作


一、NoSQL

NoSQL

        非关系型数据库;存储原理非常简单(典型的数据类型为k-v),不存在繁杂的关系链,大大的增加了数据库的拓展能力。

特点

        1.不遵循SQL标准(典型的数据类型为k-v),易拓展

        2.不支持ACID(支持事务)

        3.远超于SQL的性能

使用场景

        1.对数据库高并发读写的需求

        2.对海量数据的高效率存储和访问的需求

        3.对数据库的高可扩展性和高可用性的需求

二、Redis介绍

简介

        Redis 是用C语言开发的一款开源的、高性能的键值对存储数据库,它采用 BSD 协议,为了适应不同场景下的存储需求,提供了多种键值数据类型,字符串、列表、有序集合、散列及集合等;Redis 内置复制、Lua 脚本、LRU 收回、事务及不同级别磁盘持久化功能,同时实现高可用、自动分区等相关功能。

特性

        1.具有丰富的数据类型

        2.读/写速度快,性能高(Redis 能读的速度是 11万次/s,写的速度是 8.1万次/s。之所以有这么快的读/写速度,是因为这些数据都存储在内存中)

        3.支持持久化:也就是备份数据,它每隔一段时间就将内存中的数据保存在磁盘中,在重启的时候会再次加载到内存中,从而实现数据持久化

        4.实现高可用主从复制,主节点做数据副本;实现分布式集群和高可用

使用场景

        1.做缓存

        2.实现消息队列

        3.做计数器应用

为什么使用

        1.两大优势:高性能(存储在硬盘中)、高并发(mysql单机一般只能支撑到2000Qps,而redis由于是K/V式的操作,单机可以支撑并发量几万到十几万)

        2.速度快:单线程、基于内存、IO多路复用

        3.丰富的数据结构

三、Redis安装

1、下载

下载地址:https://redis.io/download/,下载到最新版的 redis

redis arm安装教程_数据库

2、安装

先创建一个 redis 的文件夹来存放安装包,把安装包上传到服务器上:

# 在 /soft 目录下创建一个空的文件夹 redis
mkdir /soft/redis
# 进入这个新建的文件夹下
cd /soft/redis

上传:

redis arm安装教程_redis_02

 解压:

        tar -zxvf redis-7.0.2.tar.gz

解压成功之后进入 redis 的安装目录,运行编译命令:

        cd ./redis-7.0.2

        make && make install

默认安装路径是在 /usr/local/bin 目录下,进入该目录:

        cd /usr/local/bin

该目录以及默认配置到环境变量,因此可以在任意目录下运行这些命令,其中:

redis-cli:是 redis 提供的命令行客户端
    redis-server:是 redis 的服务端启动脚本
    redis-sentinel:是 redis 的哨兵启动脚本

3、启动、停止

        redis 默认启动的命令是 redis-server ,但是该命令只是前台启动,关闭调当前的窗口,redis 也会随之关闭,如果想要 redis 后台启动,就必须去修改 redis 的配置文件,指定配置文件启动。

进入解压Redis安装包的目录,编辑reids.conf文件

vim reids.conf

找到配置文件中相应地方的配置,修改成如下:

# 监听地址,默认是 127.0.0.1,会导致只能在本地访问。修改成 0.0.0.0 则可以在任意 IP 访问,生产环境不要设置 0.0.0.0
bind 0.0.0.0
# 守护进程,修改为 yes 后即可后台运行
daemonize yes
# 密码,设置后访问 redis 必须输入密码
requirepass 123456

其他常见配置:
# 监听端口
port 6379
# 工作目录,默认是当前目录,也就是运行 redis-server 时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置 redis 能够使用的最大内存
maxmemory 256mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"

启动 redis:

        # 进入 redis 安装目录
        cd /soft/redis/redis-7.0.2/
        # 指定配置文件启动 redis
        redis-server redis.conf

查看 redis 是否后台运行成功:

        ps -ef | grep redis                //查看是否存在进程

停止Redis:

        先查看存在进程,然后杀死进程:

        ps -ef | grep redis  

        kill -9 进程号

4、补充

        检查防火墙是否关闭 防火墙一般默认都是开启的。如果防火墙是开启的,那就要进行端口检测,如果端口是关闭的,则要放开。 如果不想开放端口,直接将防火墙关闭就行

四、key键操作

1、keys *:查看当前库所有的key(查询到所有之前写入的数据键)

2、exists key:判断某个Key是否存在(可在后面写多个键,存在几个键返回数字几,但没办法判断哪一个键存在/不存在。)

3、type key:查看key是什么类型

4、del key:删除指定的key数据

5、unlink key:非阻塞删除,仅仅将keys从keyspace元数据中删除,真正的删除会在后续的异步中操作(当需要删除的数据量非常大时使用,不会发生阻塞)

6、ttl key:查看还有多少秒过期,-1表示永不过期,-2表示已过期

7、expire key 数字:为给定的key设置过期时间(以秒为单位)

8、select dbindex:切换数据库[0-15],默认为0

        如:select 1(切换数据库1)

9、move key dbindex[0-15]:将当前数据库的key移动到给定的数据库db当中

        例:move key 3:将key转移到数据库3中

10、dbsize:获取当前数据库key的数量

11、flushdb:清空当前库

12、flushall:通杀(清空)全部库

注:redis指令可以不区分大小写,但是key区分大小写