内存cache使用的场景

Q.业务场景内为什么要使用内存cache?

A.为了利用内存cache的优点, 解决业务场景内的缺陷

Q.内存cache的优点和缺点

A.优点: 内存读写速度比磁盘块

缺点: 内存空间有限, 内存单价比硬盘贵, 内存掉电会导致数据丢失

由此可知,内存cache是为了解决速度的问题

Q.内存cache适用于哪些业务场景?

A. 如果cache只负责读,它适合以下场景

a.cache 静态数据, 将静态数据加载至内存,提高读速

b.cache 可接受延迟的动态数据, 即后端db修改了数据后, 业务不需要立刻获取最新的修改结果, 可以忍受一个cache周期

B. 如果cache还负责写,业务需要为cache提供容灾、cache数据持久化到db、cache一致性、cache和db数据不一致的解决方案, 业务读写将发生在内存中,读写效率高,技术要求也高。

时间: 2024-09-29 02:11:30

内存cache使用的场景的相关文章

Linux的缓存内存 Cache Memory详解

http://www.ha97.com/4337.html PS:前天有童鞋问我,为啥我的Linux系统没运行多少程序,显示的可用内存这么少?其实Linux与Win的内存管理不同,会尽量缓存内存以提高读写性能,通常叫做Cache Memory. 有时候你会发现没有什么程序在运行,但是使用top或free命令看到可用内存free项会很少,此时查看系统的 /proc/meminfo 文件,会发现有一项 Cached Memory: 输入cat /proc/meminfo查看:MemTotal: 16

linux 未跑程序 内存 cache使用过大

linux与windows不同,会存在缓存内存,通常叫做Cache Memory.有些时候你会发现没有什么程序在运行,但是使用top或free命令看到可用内存会很少,此时查看Linux系统 /proc/meminfo 文件,会发现有一项 Cached Memory: # >> cat /proc/meminfo MemTotal:     16414004 kB MemFree:      10278960 kB Buffers:         65588 kB Cached:      

关于Linux的缓存内存 Cache Memory详解

PS:前天有童鞋问我,为啥我的Linux系统没运行多少程序,显示的可用内存这么少?其实Linux与Win的内存管理不同,会尽量缓存内存以提高读写性能,通常叫做Cache Memory. 有时候你会发现没有什么程序在运行,但是使用top或free命令看到可用内存free项会很少,此时查看系统的 /proc/meminfo 文件,会发现有一项 Cached Memory: 输入cat /proc/meminfo查看: MemTotal: 16425996 kB MemFree: 5698808 kB

Linux内存cache/buffer剖析

查询linux系统中空闲内存/内存使用状态查看/剩余内存查看 如何计算内存的使用量及空闲量 物理已用内存 = 实际已用内存 - 缓冲 - 缓存              =  24752  - 2839 - 15049 物理空闲内存 = 总物理内存 - 实际已用内存 + 缓冲 + 缓存              =  32073   -  24752  + 2839 + 15049 应用程序可用空闲内存 = 总物理内存 - 实际已用内存 =  32073  - 24752 应用程序已用内存 =

手动释放linux内存cache

转载于:http://linux.cn/article-211-1.html 总有很多朋友对于Linux的内存管理有疑问,之前一篇linux下的内存管理方式似乎也没能清除大家的疑虑. 而在新版核心中,似乎对这个问题提供了新的解决方法,特转出来给大家参考一下.最后,还附上我对 这方法的意见,欢迎各位一同讨论. 当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放, 而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法. 那么我

在CentOS6.9上Shell脚本定时释放内存cache

一.写Shell脚本 mkdir -p /var/script/ vim /var/script/freemem.sh 写入以下Shell脚本: #!/bin/bash # 当前已使用的内存大小 used=`free -m | awk 'NR==2' | awk '{print $3}'` # 当前剩余的内存大小 free=`free -m | awk 'NR==2' | awk '{print $4}'` echo "===========================" >

ubuntu 手动释放缓存 (清理内存cache)

sync echo 3 > /proc/sys/vm/drop_caches ok完成cache内存清理 原文地址:https://blog.51cto.com/13120271/2399074

iOS地图用Xcode跑cpu和内存(静置场景)和模拟手机发热场景

以iOS13.3和Xcode11.4在mac为例,内存数据只能做对比用,静置场景: 使用GPX方案,取脚本和对应的Xcode工程代码到本地用Xcode打开工程,脚本用来生成轨迹文件(暂时还不知道怎么做,后面了解) 图1.1为工程代码,图1.2为脚本 1.解压location-simulation-master.zip,打开maps.xcodeproj,确定打开地图的弹框点击open,再点击Maps,得到图1.5 图1.3 图1.4 图1.5 如果第一次run需要安装证书重签名 2.选择轨迹文件:

导致内存泄漏的主要场景以及解决方法

本文具体介绍的为在ARC情况下容易引起内存泄漏的一些情况,仅为本人遇到的情况下的小总结,希望可以给大家提供一些帮助. 1.循环参照 A有个属性参照B,B有个属性参照A,如果都是strong参照的话,两个对象都无法释放. 这种问题常发生于把delegate声明为strong属性了. 例, @interface SampleViewController @property (nonatomic, strong) SampleClass *sampleClass; @end @interface Sa