数据库(mySQL..)
本地缓存(osCache..)
分布式缓存(redis,memchched)
数据库 | 本地缓存 | 分布式缓存 | |
---|---|---|---|
存储位置 | 存盘,数据不丢失 | 不存盘,之前的数据丢失 | 存盘,数据丢失 |
持久化 | 可以 | 不可以 | 不可以 |
访问速度 | 慢 | 最快 | 快 |
可扩展 | 可存在其他机器的硬盘 | 只能存在本机内存 | 可存在其他机器的内存 |
使用场景 | 需要实现持久化保存 | 需要快速访问,但需要考虑内存大小 | 1)需要快速访问,不需要考虑内存大小 2)需要实现持久化,但会丢失一些数据 3)需要让缓存集中在一起,访问任一机器上内存中的数据都可以从缓存中得到 |
使用本地缓存场景:
在程序中,有些表数据,数据很少,但是程序加载的时候要马上访问,并且访问的很 频繁,比如(例如系统配置参数,区域信息),针对这种情况,将数据放到程序的本地缓存中即内存中,从而提升系统的访问效率,减少数据库访问,数据库访问要占用数据库连接,同时网络消耗比较大,但同时要注意,缓存的占用空间、缓存的失效策略。
网友评论