进程内缓存分析

1. 除了常见的redis/memcache等进程外缓存服务,缓存还有一种常见的玩法,进程内缓存,将一些数据缓存在站点,或者服务的进程内,这就是进程内缓存。

2. 进程内缓存的实现载体,最简单的,可以是一个带锁的Map。又或者,可以使用第三方库,例如leveldb

3.与进程外缓存相比(例如redis/memcache),数据读取不再需要访问后端,例如数据库,省去了网络开销,所以一来节省了内网带宽,二来响应时延会更低

4.同样是多节点统一存储,容易带来数据不一致的问题

  总结:

情况一,只读数据,可以考虑在进程启动时加载到内存。

画外音:此时也可以把数据加载到redis / memcache,进程外缓存服务也能解决这类问题。

 

情况二,极其高并发的,如果透传后端压力极大的场景,可以考虑使用进程内缓存。

例如,秒杀业务,并发量极高,需要站点层挡住流量,可以使用内存缓存。

 

情况三,一定程度上允许数据不一致业务。

例如,有一些计数场景,运营场景,页面对数据一致性要求较低,可以考虑使用进程内页面缓存。

 

末了,再次强调,进程内缓存的适用场景并不如redis/memcache广泛,不要为了炫技而使用。

 

更多的时候,还是老老实实使用redis/mc吧。

转载于:https://www.cnblogs.com/hellohell/p/9541724.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值