持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。
http://baike.baidu.com/view/1101383.htm
关键就是内存的数据会丢失,所以我们要把它保存在存储设备中,以便下次需要的时候可以再把数据取出来
Q: 比如Session Cookies ViewState Application 数据库 这些方法都可以存储数据,在.net里面它们保存数据的时间不同,是不是说它们的持久化程度不一样呢?
A:ViewState只在当前页面存在,页面关闭就没了,肯定不是持久化。
Cookie分两种,临时Cookie浏览器关闭就结束,永久Cookie写在客户端,算是一种持久化的方式
Session分三种,InProc和StateServer都不是持久化的机制,只有写到数据库的才是,但实际应用未必会用到写数据库的Session
Application IIS一重启可能就没了,也不是持久化的方式
持久化一定是要保存在物理介质上的,不能是在内存里。
持久是相对于瞬时来说的,其实就是可以把数据固化在硬盘或者磁带一类可以保存很长时间的设备上,不像放在内存中一样断电就消失了。企业应用中数据很重要(各种订单数据、客户数据、库存数据之类的),比应用程序本身更重要,所以需要把数据持久化。持久化可以通过很多方式,写文件和数据库都可以。只是现在企业一般都会选择把数据持久化到数据库中,因为可以很方便的查询统计分析,但数据库的数据最终还是会写到磁盘上的。Java 程序员为了操作数据库,最开始是使用JDBC来进行的,但是这种方式开发效率低,要写一堆重复代码,加上关系数据库和对象本身存在所谓的阻抗不匹配情况,所以为了提高开发效率,有人发明了 ORM 即 对象关系映射框架(Hibernate是其中的佼佼者),对于 Java 程序员来说,就可以通过操纵对象来操纵数据库了