缓存-解决特定范围内高频次访问数据性能问题
2017-05-19 00:00
330 查看
缓存的目的
解决在特定范围内需要高频次访问一些数据的带来的性能消耗问题。
例如在一次操作中需要多次访问产品A的数据,这时可以使用临时变量作为缓存,在第一次时访问数据库获取产品A的数据,并将产品A数据在这次操作范围内赋值给临时变量,然后在后续访问产品A数据时直接访问临时变量,以减少访问数据库带来性能消耗,这些性能消耗大部分是IO上性能消耗。
如何应用缓存技术到我们的应用中了?
首先,鉴别哪些数据需要应用缓存。按我的理解就是需要高频次访问的数据,这里有个误区就是一组数据中有几个数据存在高频次访问的,将这整组数据应用缓存。
其次,确认缓存对象作用范围,那么什么是对象作用范围?对象作用范围是软件访问数据的上下文(作用范围)。根据个人总结包括:函数调用上下文、类调用上下文、相同线程作用域上下文、HttpRequest请求上下文、HttpSession 会话上下文、全局上下全局上下文等。在范围内第一次访问数据时创建缓存。
最后,缓存的目的为了解决性能消耗问题,解决性能消耗的问题的方法有很多,如数据库查询语句优化等,缓存技术也有很多。引入缓存前,结合应用环境、考虑是否一定需要缓存解决性能问题,带来中间环节问题如何减少与避免。
解决在特定范围内需要高频次访问一些数据的带来的性能消耗问题。
例如在一次操作中需要多次访问产品A的数据,这时可以使用临时变量作为缓存,在第一次时访问数据库获取产品A的数据,并将产品A数据在这次操作范围内赋值给临时变量,然后在后续访问产品A数据时直接访问临时变量,以减少访问数据库带来性能消耗,这些性能消耗大部分是IO上性能消耗。
如何应用缓存技术到我们的应用中了?
首先,鉴别哪些数据需要应用缓存。按我的理解就是需要高频次访问的数据,这里有个误区就是一组数据中有几个数据存在高频次访问的,将这整组数据应用缓存。
其次,确认缓存对象作用范围,那么什么是对象作用范围?对象作用范围是软件访问数据的上下文(作用范围)。根据个人总结包括:函数调用上下文、类调用上下文、相同线程作用域上下文、HttpRequest请求上下文、HttpSession 会话上下文、全局上下全局上下文等。在范围内第一次访问数据时创建缓存。
最后,缓存的目的为了解决性能消耗问题,解决性能消耗的问题的方法有很多,如数据库查询语句优化等,缓存技术也有很多。引入缓存前,结合应用环境、考虑是否一定需要缓存解决性能问题,带来中间环节问题如何减少与避免。
相关文章推荐
- 在Asp.net 2.0 中禁用页面缓存解决页面刷新(重新加载数据)的问题!
- 在Asp.net 2.0 中禁用页面缓存解决页面刷新(重新加载数据)的问题
- 解决该页正在访问其控制范围之外的数据。这有些危险。是否继续?
- [Android]ListView性能优化之视图缓存 解决listView显示重复问题
- 模态窗口访问同一页面,缓存数据的解决办法
- MySQL数据格式为MyISam时的Locked状态造成访问慢的问题解决
- [ js ] 可否用多线程的思路,解决大数量数据的性能问题?
- Visual Source Safe连接数据文件图解 解决密码缓存问题
- 索引是从数据库中获取数据的最高效方式之一。95%的数据库性能问题都可以采用索引技术得到解决。
- 利用数据缓存机制提高智能设备应用程序的数据访问性能
- 解决windows的数据访问保护(DEP)导致windows installer不能工作的问题
- 解决windows的数据访问保护(DEP)导致windows installer不能工作的问题
- Visual Source Safe连接数据文件图解 解决密码缓存问题
- 如何通过2级缓存解决性能问题(ehcache)
- 解决SqlServer启用数据表缓存信赖,非dbo构架的数据表注册不成功的问题
- 使用Jsonp解决跨域数据访问问题
- 利用Cache缓存数据提高大数据量访问性能
- google app engine的缓存服务解决性能问题
- 利用数据缓存机制提高智能设备应用程序的数据访问性能
- Visual Source Safe连接数据文件图解 解决密码缓存问题