何为消息持久化?

简介: 持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。

持久化(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 程序员来说,就可以通过操纵对象来操纵数据库了


目录
相关文章
|
11月前
|
消息中间件 存储 canal
3分钟白话RocketMQ系列—— 如何保证消息不丢失
3分钟白话RocketMQ系列—— 如何保证消息不丢失
3598 0
|
2月前
|
消息中间件 Kafka 微服务
微服务数据问题之MetaQ设置同步异步刷盘如何解决
微服务数据问题之MetaQ设置同步异步刷盘如何解决
|
30天前
|
消息中间件 存储 监控
消息队列在分布式系统中如何保证数据的一致性和顺序?
消息队列在分布式系统中如何保证数据的一致性和顺序?
|
消息中间件 缓存 Kafka
字节终面:说说Kakfa副本状态机的实现原理?
ReplicaStateMachine是内部组件,一般用户感觉不到存在,但搞懂它,对从根本定位一些数据不一致问题大有裨益。 部署3-Broker(A、B和C)Kafka集群,版本2.0.0。在这3个Broker上创建一个单分区、双副本主题。
75 0
字节终面:说说Kakfa副本状态机的实现原理?
|
消息中间件 存储 监控
MQ的作用及如何解决消息队列的丢失、重复和积压问题
引入 MQ 消息中间件最直接的目的是:做系统解耦合流量控制,追其根源还是为了解决互联网系统的高可用和高性能问题。 系统解耦:用 MQ 消息队列,可以隔离系统上下游环境变化带来的不稳定因素,比如京豆服务的系统需求无论如何变化,交易服务不用做任何改变,即使当京豆服务出现故障,主交易流程也可以将京豆服务降级,实现交易服务和京豆服务的解耦,做到了系统的高可用。
179 0
|
消息中间件 Java uml
5张图带你理解 RocketMQ 顺序消息实现机制
5张图带你理解 RocketMQ 顺序消息实现机制
625 1
5张图带你理解 RocketMQ 顺序消息实现机制
|
消息中间件 存储 Java
RocketMQ事务消息原理简析
在项目中,经常遇到这样一个场景,需要保证数据持久化和消息发送要么同时成功,要么同时失败。比如当用户在交易系统下了一个订单,购物车需要消费订单消息清除加购数据、积分系统需要变更用户积分、短信平台需要给买家发送提醒等。利用RocketMQ事务消息特性,可以轻松达到这个目的。本文将从RocketMQ事务消息使用方法说起,探究RocketMQ事务消息实现原理。
255 0
分布式事物如何保证接口请求顺序性?
前言 先抛出一个问题大家思考一下:在分布式系统中,我们如何保证多个请求的顺序性问题,比如有A/B两个系统,系统A在一次订单业务处理中,向B系统发送三次请求,先进行插入订单操作,然后对订单状态进行修改,最后增加用户积分。 但是这三次请求分别落在了不同的机器上,并且插入订单的操作由于一些意外导致延迟,修改订单操作先执行了,但是此时并没有订单信息,也就会出现我们期望之外的结果了。
|
存储 消息中间件 关系型数据库
消息存储方式介绍|学习笔记
快速学习消息存储方式介绍
210 0
消息存储方式介绍|学习笔记