当前位置:网站首页>Redis趋势—NVM内存
Redis趋势—NVM内存
2022-06-25 18:01:00 【Java面试365】
Redis趋势—NVM内存
NVM是什么
NVM全称Non-Volatile Memory非易失的存储,NVM的特点就是容量大、速度快、支持持久化数据,这个特性和Redis追求的目标不谋而合,所以在实际使用Redis时可以将NVM当作内存DRAM使用。
NVM内存特性
NVM内存和传统的DRAM内存相比有哪些优势呢?
NVM内存可以直接持久化保存数据,数据保存在NVM内存后,即使发生断电或者宕机,数据依然会保存在NVM内存中,而传统的DRAM内存遇到断电或者宕机就会导致DRAM内存数据丢失。
NVM内存的访问速度接近DRAM的速度,记住这里是接近而不是超过,NVM内存的读延迟大概200~300ns,写延迟大概100ns。
NVM内存的容量很大,NVM器件密度很大,单根NVM内存条能达到128G的容量最大甚至可以达到512G,所以我们可以采用NVM内存轻松构建TB级别的内存。
NVM产品AEP内存
现在业界就有NVM内存产品,Intel在2019年4月推出Optane AEP 内存条(简称 AEP 内存),AEP内存给软件提供了两种使用模式,这两种模式的偏重点分别在NVM容量大,持久化保存数据上。
Memory模式,这种模式就是将NVM当作大容量的内存使用,这个模式并不会开启持久化的功能,那是不是说采用了Memory模式就不需要DRAM传统内存了呢?并不是服务器仍然需要配置DRAM内存,但是DRAM内存会被当作AEP内存的缓存使用,DRAM的内存空间对于应用软件不可见,应用软件使用的将会是AEP的内存空间。
APP Direct模式,这种模式将NVM当作了一个持久化的内存使用,也就是说应用软件将数据写到AEP内存上时,数据就直接被持久化保存下来了,这也叫做持久化内存(Persistent Memory简称PM)。
Redis采用AEP内存的优势
Redis如果采用AEP内存作为存储,那么需要分模式考虑
Memory模式
Redis采用Memory模式那么就是利用其容量大的特性来保存大量数据,Redis也可以给业务提供大容量的存储,Redis可以像在DRAM内存运行一样不需要修改代码。
但需要注意的是AEP内存的访问延迟肯定会比传统DRAM内存高,因为AEP本来就是NVM的一个实现,NVM存在访问和读写延迟,所以我们需要在读写延迟以及大容量上做一个取舍。
APP Direct模式
Redis去应用APP Direct模式后,那么写入AEP内存的数据将会自动持久化保存,这时候就不需要Redis的一些持久化机制了,因为不论是AOF还是RDB持久化方式,都会有丢失数据的风险,而且持久化操作时还可能引发一些问题
RDB持久化时,fork子进程会阻塞主线程。
AOF文件记录日志时,需要在可靠性和写性能之间做取舍,一般建议折中选择everysec。
AOF和RDB文件恢复数据时,恢复速度受RDB文件和AOF文件的大小限制。
所以在APP Direct模式下就可以充分利用PM持久化内存的特点,避免Redis自身持久化产生的一些问题。
边栏推荐
猜你喜欢

什么是算子?

智能对话01-redis的安装
沁恒CH583 USB 自定义HID调试记录
![[compilation principle] lexical analysis](/img/b2/8f7dea3944839e27199b28d903d9f0.png)
[compilation principle] lexical analysis

Using QT to make a beautiful login interface box

20 provinces and cities announce the road map of the meta universe

HMS core machine learning service realizes simultaneous interpretation, supports Chinese-English translation and multiple voice broadcast

【工作小技巧】刚入职的软件测试工程师怎么快速上手新岗位

使用DiskGenius拓展系统盘C盘的容量

为什么在变频器场合需要安科瑞的电力有源滤波器?
随机推荐
[matlab] numerical calculus and equation solving
TLV decoding
微服务介绍
Expressing integers by the sum of consecutive natural numbers
Find the longest substring length satisfying the condition
Is it convenient to open a stock account? Is online account opening safe?
微博评论的计算架构
SDN系统方法 | 9. 接入网
图标丢失,URL附带JESSSIONID的什么来的?
The stacks 2022:32 marketing technology stacks selected
User scheduling problem
What is an operator?
Computing architecture of microblog comments
The Stackies 2022:32个营销技术栈入选
观察者模式之通用消息发布与订阅
Precautions for using timer_cap.c of Jerry [chapter]
Recursion and divide and conquer
What is public chain development? What are the public chain development projects?
证券公司排名前十手续费最低 办理开户安全吗
Getting started with kotlin (20) several common dialog boxes