以c的视角来理解c++的多态
1.概述
c++是一门混合型编程语言,即支持面向对象有支持面向过程,其中又以面向对象为主。c++的三大主要特性:“继承”,“封装”,“多态”中,又以“多态”最难以理解,本文将通过c的视角来诠释c++的多态。
2.动手前的预备知识点
2.1 你知道不同类型的指针意味着什么?
分类: c/c++
c++是一门混合型编程语言,即支持面向对象有支持面向过程,其中又以面向对象为主。c++的三大主要特性:“继承”,“封装”,“多态”中,又以“多态”最难以理解,本文将通过c的视角来诠释c++的多态。
任何平台随着用户规模的扩大、功能不断的添加,持久化数据库层承受的读写压力会越来越大,一旦数据库承压过大会导致读写性能陡然下降,严重时会导致大量的业务请求超时,进而发生“雪崩”引发严重的故障。
在业务层和数据库持久层之间引入一层内存缓存层,对于复杂且业务逻辑上不会变化的查询结果进行缓存,业务请求再次发起时,每次都先从缓存层中查询,从而大大减少对数据库的查询,减小对数据库的压力。
类型 | 稳定性 | 扩展性 | 通用性 | 对代码的侵入性 |
---|---|---|---|---|
应用层缓存 | 应用会频繁重启更新,缓存易丢失,稳定性不佳 | 差,受限于进程的资源限制 | 差,不同应用难以复用 | 代码侵入性小,无网络操作,只需要操作应用进程内存 |
本地单点缓存 | 独立的缓存应用(redis、memcached等),不会频繁重启,稳定性一般,但有单点故障问题 | 一般,受限于单服务器资源限制 | 一般,业务应用和缓存应用有强耦合 | 代码侵入性一般,需要引入对应的api通常有网络操作 |
分布式内存缓存 | 分布式系统,具备故障恢复功能,无单点故障问题,稳健性佳 | 好,支持水平扩展 | 好,对业务层提供通用接口,后端具体的缓存应用对业务透明 | 代码侵入性一般,需要引入通用的api通常有网络操作 |
近期评论