NoSQL数据库Redis

Redis是一款高效内存型NoSQL数据库,提供String、Hash、List、Set、Zset等五大数据类型。其常用命令包括Key操作和String操作等。持久化策略包括RDB快照和AOF日志,主从复制用于提高可用性,哨兵系统负责监控和故障转移,而Cluster集群实现分布式服务,支持数据分片和高可用性。
摘要由CSDN通过智能技术生成

一、简介

1.概念:Redis是以Key-Value形式进行存储的内存型NoSQL数据库。

2.特点:在内存中对数据进行操作,效率特高。读的效率是11万/s,写的效率是8.1万/s.

二、五大类型

1.String类型:是redis最基本的数据类型,属于二进制安全类型,可以包含任何数据。

2.Hash类型:是一个String类型的field和value的映射表,特别适合存储对象。

3.List类型:是简单的字符串列表,按照插入顺序排列,也是redis数据库最重要的数据结构之一。

4.Set类型:是String类型的无序集合。

5.Zset类型:是String类型的集合,且不允许重复。

三、常用命令

1.Key操作

exists:判读key是否存在,【语法:exists key名称】,返回值:存在返回数字,不存在返回0;

expire:设置key的过期时间, 【语法:expire key秒数】,返回值:成功返回1.失败返回0;

ttl:查看key的过期剩余时间, 【语法:ttl key】,返回值:返回过期剩余时间,不过期返回-1;

del:根据key删除键值对, 【语法:del key】,返回值:被删除key的数量;

2.String操作

set:设置指定key的值 ,【语法:set key value】,返回值:成功OK;

get:获得指定key的值, 【语法:get key】,返回值:key的值,不存在返回nil;

setnx:当且仅当key不存在时新增,【语法:setnx key value】,返回值:不存在返回1,存在返回0;

setex:设置key的存活时间,无论是否存在指定key都能新增,如果存在key覆盖旧值,同时指定过期时间,【语法:setex key seconds value】,返回值:OK;

四、持久化策略

1.RDB

rdb模式是Redis持久化策略的默认模式,可以在指定的时间间隔内生成数据快照,默认保存在dump.rdb文件中。redis重启后会自动将该文件加载到内存中进行读取。

特点:用户可以使用SAVE或BGSAVE手动保存数据。

优点:

rdb是一个紧凑的文件,直接使用rdb文件就可以恢复数据;

数据保存由子进程进行,不影响父进程;

数据恢复效率高;

2.AOF

aof是默认关闭的,需要在redis.conf文件中手动开启。

特点:aof文件在数据恢复时的读取级别高于rdb文件。

五、主从复制

为了保证单一节点可用性,redis支持主从复制功能。 

特点:每个节点可以有无数个复制品,其中一个复制品是主,其它复制品是从,也就是一主多从。

优点:

读写分析,主节点负责写,从节点负责读;

增加单一节点的健壮性,提升整个集群的稳定;

单向同步,主节点数据会同步到从节点,但从节点数据不能传输给主节点;

六、哨兵

哨兵的作用是监控整个节点的运行状态,在主节点宕机时,帮助重新选取新的主节点,维持节点的正常运行。

单哨兵:只要发现主节点宕机就选取新的主节点;

多哨兵:一定数量的哨兵认为主节点宕机时,才选取新的主节点;

七、cluster

1.Redis集群是一个由多个主从节点群组成的分布式服务集群,它具有复制、高可用和分片特性。

2.Redis集群不需要sentinel哨兵也能完成节点移除和故障转移的功能。

3.需要将每个节点设置成集群模式,这种集群模式没有中心节点,可水平扩展,据官方文档称可以线性扩展到上万个节点(官方推荐不超过1000个节点)。

4.redis集群的性能和高可用性均优于之前版本的哨兵模式,且集群配置非常简单。

5.redis集群的运用主要是针对海量数据+高并发+高可用的场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值