Redis大白话(●—●)

目录

🤗谈谈对Redis的理解

🧡Redis数据类型

🧡Redis持久化

RDB(Redis DataBase)默认

AOF(Append Only File)


💟这里是CS大白话专场,让枯燥的学习变得有趣!

💟没有对象不要怕,我们new一个出来,每天对ta说不尽情话!

💟好记性不如烂键盘,自己总结不如收藏别人!

🤗谈谈对Redis的理解

💌说Redis之前不得不提一下NoSQL(Not only SQL),泛指非关系型数据库,是随着web2.0诞生的!与传统的MySQL、Oracle数据库不同,NoSQL的数据之间没有关系,并不单单是二维表格式存储,因此易于扩展,有很高的读写性能。

NoSQL分类:

🍠键值(Key-Value)存储数据库:Redis、MemcacheDB。

🍠文档存储数据库:MongoDB。

🍠列存储数据库:Hbase。

🍠图关系数据库:Neo4J。

💌现在我们知道Redis属于NoSQL中的KV存储数据库了,二话不说先翻译:Redis(Remote Dictionary Server)中文名:远程字典服务,也被称为结构化数据库,由C语言编写,支持多种语言API,支持持久化。读速度:110000次/s,写速度:81000次/s。

应用场景:内存存储、持久化、高速缓存、发布订阅系统、计时器、计数器(浏览量)等等。

🧡Redis数据类型

🍠String:字符串。

🍠List:列表,可构造成栈/队列的线性结构(逻辑结构),通过链表来实现(存储结构)。

🍠Hash:哈希,key-map(field-value)。

🍠Set:无序,无重复值的字符串集合。

🍠Zset(Sorted Set):有序(关联score值排序),无重复值的字符串集合。

🧡Redis持久化

只要是内存数据库一定要有持久化操作,不然一断电内存数据就没啦!

RDB(Redis DataBase)默认

💌简单来说就是在主进程中岔(fork)一个子进程出来,共享主进程的所有内存数据,由子进程完成快照操作(类似虚拟机的备份),保存成dump.rdb文件,不影响主进程的运行。Redis是单线程的,直接在主进程上执行快照(save命令)会导致进程阻塞!将dump.rdb文件放到Redis启动目录下就可以在Redis启动时恢复数据啦!

触发快照:

🍠key满足变化条件:

save 900 1    #每900秒(15分钟)至少有1个key发生变化,Redis就会自动触发BGSAVE命令创建快照。

save 300 10   #每300秒(5分钟)至少有10个key发生变化,Redis就会自动触发BGSAVE命令创建快照。

save 60 10000 #每60秒(1分钟)至少有10000个key发生变化,Redis就会自动触发BGSAVE命令创建快照。

 🍠bgsave/flushall命令。

🍠退出Redis。

优点:适合大规模数据,对数据完整性要求不高,数据恢复快。

缺点:需要一定时间间隔容易丢失数据,fork进程时占用内存空间。

AOF(Append Only File)

💌简单来说就是把每个写操作都记录在appendonly.aof日志文件里,在Redis重启时,把AOF文件中记录的所有写操作顺序执行一遍来恢复数据。

一些必要的配置:

🍠默认AOF是关闭的,需要手动yes:

appendonly yes

🍠记录策略:

#appendfsync always    # 每写入一条日志就进行一次fsync操作,数据安全性最高,但速度最慢(每次有数据修改发生时都会写入AOF文件)
appendfsync everysec  # 折中的做法,交由后台线程每秒fsync一次(每秒钟同步一次,该策略为AOF的缺省策略,可能丢失一秒钟数据)
#appendfsync no        # 不进行fsync,将flush文件的时机交给OS决定,速度最快(从不同步,高效但是数据不会被持久化)

🍠重写AOF文件:

no-appendfsync-on-rewrite no
## Redis在每次AOF重写时,会记录完成重写后的AOF日志大小,当AOF日志大小增长了100%或文件大于64MB后,就要进行AOF重写。
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

优点: 文件完整性更高,如果AOF文件错误,可通过redis-check-aof工具修复,或手动修改AOF文件。

缺点:日志文件太大,数据恢复慢。

💌当两种持久化方式都开启时,优先载入AOF文件恢复数据。建议在从机上持久化RDB文件即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值