redis实战学习笔记p1-12

1.redis定义

内存的键值数据库,在内存中的优势是访问速度比磁盘高几个量级,缺点是成本高昂,掉电不能持久保存,因此有运行过程中持久化的需求,也就是掉电之后能从持久化存储中恢复。

2.AOF日志和RDB快照

这两个都是用来解决持久化的方法,AOF通过存储数据库执行过的指令,来恢复,并且因为存储的是已经执行成功的指令不存在指令有语法错误的情况。

因为数据库可能对同一个位置进行多次操作,因此对于一个位置的最新值我们保留过往的记录是有浪费的,因此可以在一段时间后就重写AOF日志

RDB也叫Redis database,在磁盘以文件的形式存储redis在内存中的状态,为了防止阻塞主线程使用了fork子进程生成快照的方法,为了让redis在生成快照时可写可读使用了写时拷贝的机制,同时为了防止redis快照花费时间多在多次快照之间用AOF日志记录操作的命令。

3.高可用的方法:使用主从一致,主库写,多库读的模式来分担压力,需要解决的问题是主从数据库的一致性问题。

使用全量复制RDB快照来复制,同时在复制之后会通过基于长连接的命令以及增量的RDB快照来减少资源消耗。

4.主库崩溃的解决方法

添加监控,使用哨兵监控主库,同时为了确保主库是真的下线避免无所谓的换主库使用哨兵集群少数服从多数监控;之后哨兵需要选从库,依据筛选和打分的机制;最后是通知其他从库和客户端。

5.哨兵集群

哨兵集群的互相发现是通过在主库订阅和发布信息,然后互相得到对方的信息,从库列表信息是从主库获得,同时客户端了解哨兵集群也是通过在主库发布和订阅信息。

6.String的问题

对于小数据,string的额外信息占用空间大

7.统计方法

聚合统计、排序统计、二值统计、基数统计

相关推荐
刘~浪地球13 分钟前
数据库与缓存--MySQL 高可用架构设计
数据库·mysql·缓存
知识分享小能手16 分钟前
MongoDB入门学习教程,从入门到精通,MongoDB的了解应用程序的动态(18)
数据库·学习·mongodb
oradh16 分钟前
Oracle数据类型概述(一)
数据库·oracle·oracle基础·oracle入门基础·oracle数据类型
bobasyu24 分钟前
Claude Code 源码笔记 -- State状态流转
笔记
Hammer_Hans25 分钟前
DFT笔记38
笔记
CheerWWW26 分钟前
C++学习笔记——函数指针、Lambda表达式、谨慎使用using namespace std、命名空间
c++·笔记·学习
独小乐26 分钟前
013.定时器之系统Tick实现|千篇笔记实现嵌入式全栈/裸机篇
linux·笔记·单片机·嵌入式硬件·arm
是上好佳佳佳呀29 分钟前
【前端(六)】HTML5 新特性笔记总结
前端·笔记·html5
小兜全糖(xdqt)35 分钟前
Ubuntu22.04安装最新版本redis
数据库·redis·缓存
talen_hx29643 分钟前
《零基础入门Spark》学习笔记 Day 14
大数据·笔记·学习·spark