返回知识库

数据与服务 · 服务与数据

数据库Database

数据库把记录写成结构化的表。写进去的行,重启后还能按条件取回来。

先认出这本订单台账,再决定写到哪里

下面就是后台那张 orders 表。默认三行已落库,重启后仍在。点「只写内存再重启」,同一本台账变空;恢复按钮也长在台账上。

orders 表 · 磁盘重启后仍在

订单台账

  • #184 美式拿铁已支付
  • #185 燕麦拿铁制作中
  • #186 冰美式已支付

便利贴:本会话计数已归零

重启后仍在行还在,证明持久。

原因:这三行写在磁盘表里,进程退出也不消失。下一步:试「只写内存再重启」,看台账变空。

知识点:数据库是能再读到的结构化记录

台账上的章已经演示了核心关系,这里只给可复用的命名。

  • 持久:写进表的行在进程重启后还能按条件取回。
  • 结构化:每行有编号、字段和状态,不是一团临时变量。
  • 可查询:换条件只改读到的结果,表本身不一定少行。
  • 和缓存/内存的边界:缓存可丢、可过期;数据库是要长期认账的那一份。

什么时候用、怎么用

数据下次还要读到、要按条件查找、要多人共享,就写入数据库。

  • 信号:刷新页面后还在、要按状态筛选、删除要能确认。
  • 适用:订单、用户、收藏等必须认账的记录。
  • 不适用:单次请求里的临时计算、可丢失的热点读数——那是内存或缓存。
  • 最短路径:定表和字段 → 写入 → 重启或刷新再读 → 空结果当成「没写过」,不是报错。

正反例:同一笔订单,只换存放处

目标都是记下这杯拿铁,只改写进表还是写进进程变量。

正例写入 orders 表

重启后再查,#184 仍在。台账盖「重启后仍在」。

反例只塞进内存变量

进程一退,便利贴和台账一起空。失败写在台账上:丢了。

快速自测

服务重启后,订单列表空了。怎样判断是数据库坏了,还是根本没写进表?

继续查证

术语的技术定义和行为以这些一手或权威资料为准。

下一步学

和本知识点经常一起出现的概念。