Redis详细解释与windows环境下哨兵模式的配置

Redis

一、Redis是什么

Redis 是一个key-value存储系统,常被用作消息中间件,缓存服务器,数据库等。
大家对redis的第一印象一定是小,而且快,官方曾做过回复:使用redis时,几乎不存在CPU成为瓶颈的问题,redis主要受限于内存与网络。
RESP(Redis Serialization Protocol)
redis的通讯协议是序列化协议,即通过RESP进行通讯,文本协议容易实现,解析快,人类可读,管道通信,一次可发送多条命令等待回复。底层采用的是TCP的连接方式,通过TCP进行数据传输,然后根据解析规则解析相应的信息,完成交互。但是较为浪费流量。

二、Redis如何储存数据

redis使用键值对储存数据,之中的值包含5中类型:字符串、哈希、列表、集合、有序集合
Redis 整体就是一个 哈希表来保存所有的键值对,无论数据类型是 5 种的任意一种。哈希表,本质就是一个数组,每个元素被叫做哈希桶,不管什么数据类型,每个桶里面的 entry 保存着实际具体值的指针。
如何储存:

redis是通过键值对储存的,所以每个键值对都有一个Entry,其中key储存于SDS(简单动态字符串)结构中。键值对的value储存于RedisObject中,RdisObject对象中的属性分别会指向value的类型、内存地址和编码等等。以上说的这些都是通过内存分配器jemalloc(不止这一种,jemalloc是redis默认的)分配内存进行储存的。
Entry:里面包含三个指针分别指向key、value、next即下一个dictEntry。

三、Redis的持久化策略

redis的持久化流程与其AOF与RDB两种持久化策略:
流程:数据一般是由客户端的内存-服务端的内存-缓冲区-磁盘
RDB:在指定的时间间隔内生成数据集的快照,写入二进制文件中。
通过固定的时间段保存数据在磁盘或者加密发往固定的数据中心,这种方式非常适合灾难恢复,做灾备。
三种触发方式:自动触发、save触发、bgsave触发
save触发会阻塞当前redeis服务器,使redis不能处理其他命令,并且执行完成后如果存在老的dump.rdb文件,那么会进行替换。不推荐
bgsave触发redis会执行fork()操作创建子进程进行数据保存工作,阻塞一般只存在fork阶段,时间很短。
自动触发是通过配置文件来完成的,redis.conf。
如:save x y //这个save不代表save触发,x代表时间长度,y代表对数据库的修改次数,可配置多个满足多个需求
save 60 1 代表60秒内对数据库至少进行了一次修改则执行bgsave命令
恢复数据:将文件dump,rdb复制到redi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值