什么是进程内缓存。它将一些数据缓存在站点或服务的进程内。
只要缓存服务能存储的,进程缓存都可以存储。例如: json,html,object。
进程内缓存的好处是由于其缓存都在进程内,不需要到缓存服务存取,少了一次网络开销,可以节省内网宽带,同时时延更低。
进程内缓存的不足是其一致性很难保证。缓存服务虽然多了一次网络开销,但其是后端存储,一致性比较好处理。
如何保证进程内存储一致性?
- 单节点通知其它节点。
- MQ解耦,通知其它节点。引了MQ,系统更复杂。
- 放弃实时一致性,定期从后端更新数据。
进程内缓存不建议频繁使用,违背了站点无状态,服务无状态的设计准则。
进程内缓存的使用场景:
- 数据只读。可以考虑在进程启动时,把数据加载到内存。
- 并发量极高,透传后端压力极大。例如:秒杀业务。
- 允许一定程度上的数据不一致。