redis 相关知识

redis 是什么简述优缺点

是一个key-value
类型的数据库,这个数据加载在内存中进行操作,定期的通过异步操作可以把数据库里数据持久化到硬盘上,性能比较好,读写大概是每秒10万次,是性能相对最快的简直数据库,对非关系类型的数据库,redis存储的类型相对比较多,存储量比较大,(单个的value最大的限制可以到1g)其他的key-value 存不了这么大内容。
缺点:数据库容量容易受到物理内存的限制,不能做海量数据高性能的读写,装不下。
适用场景:
相对较小的数据量,高性能。

redis 数据淘汰策略(数据量太多,需要有一些数据被删掉)

Allkeys -Lru :尝试回收最少使用的键
volatile -Lru : 尝试回收最少使用的键(仅限于过期的)
Allkeys - random :随机回收
Volatile - random: 随机回收(仅限于过期的)
Volatile - ttl : 优先回收存活事件较短的key

string 类型最大容量 :512m 全部都算是1G
mysql中,3000万条数据,redis只能存30万条,如何保证 redis 中数据

分布式锁的实现:
setNx ,先是抢占锁资源,抢到之后使用expire 给锁加一个过期时间,操作结束后,释放锁,其他线程可以继续使用,如果出现异常或错误,到期后自动释放。

RDB 和 AOF 机制
RDB : Redis DataBase
在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程中 fork 一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。
优点
1、整个Redis 数据库将只包含一个文件 dump.rdb,方便持久化。
2、容灾性好,方便备份。
3、性能最大优化,fork 子进程来完成写操作,让主进程继续处理命令,所以是io 最大化。使用单独子进程来进行持久化,主进程不会进行任何io操作,保证了redis 的高性能。
4、相对于数据集大时,比Aof 的启动效率更高。
缺点
1、数据安全性低,RDB 是间隔一段时间进行持久化,如果持久化之间redis 发生故障,会发生数据丢失。所以这种方式更适合数据要求不严谨的时候。
2、由于RDB 是通过fork 子进程来协助完成数据持久化工作的,因此,如果当数据集较大时,可能会导致整个服务器停止服务几百毫秒,甚至是一秒钟。

AOF :Append Only File
以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。
优点
1、数据安全,redis 提供了3种同步策略,即每秒同步、每修改同步和不同步。事实上,每秒同步也是异步完成的,其效率也是非常高的,所查的是一旦系统出现宕机现象,那么这一秒钟之内修改的数据将会丢失。而每修改同步,我们可以将其视为同步持久化,即每次发生的数据变化都会被立即记录到磁盘中。
2、通过append 模式写文件,即使中途服务器宕机也不回破坏已存在的内容,可以通过redis-check-aof 工具解决数据一致性问题。
3、AOF 机制的rewrite模式,定期对AOF 文件进行重写,以达到压缩的目的。
缺点
1、AOF 文件比 RDB 文件大,且恢复速度慢。
2、数据集大的时候,比rdb 启动效率低。
3、运行效率没有rdb 高。

AOF 文件比 RDB 更新频率高,优先使用AOF 还原数据。
AOF 比 RDB 更安全也更大。
RDB性能比AOF 好
如果两个都配了优先加载AOF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值