如何把数据真正的写入数据库中,而不是写在缓存中

icewind 2000-06-22 10:41:00
我用Pardox时,当使用TTable时,当我添加一条纪录时,Post后发现数据并未写入数据库中是写在缓存中,我不想Close Table后再Open Table,请问有何好办法
...全文
307 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
snakezou 2000-06-25
  • 打赏
  • 举报
回复
函数是 Table1.FlushBuffers;
saipm 2000-06-24
  • 打赏
  • 举报
回复
FlushBuffers过程的作用是使记录缓冲区的修改有效, 它是TBDEDataSet的一个方法!
icewind 2000-06-24
  • 打赏
  • 举报
回复
snakezou 我查了一下联机帮助,没有发现FlushBuffer或相近函数,可否写的详细一点
snakezou 2000-06-23
  • 打赏
  • 举报
回复
在Table的OnAfterPoster事件中写入下句:
Table1.FlushBuffer(具体的函数写的可能不太对,但应该与此类似,可查看一下联机帮助,时间太晚,我也懒的进Delphi看了。)
guoyuzhang 2000-06-23
  • 打赏
  • 举报
回复
将UpdateCached设为False,另外要正常地结束程序。
corao 2000-06-23
  • 打赏
  • 举报
回复
updatecache=false
post
OK
shylsz 2000-06-22
  • 打赏
  • 举报
回复
当table的updatecache=true 时post后不直接入库,applyupdate后才入库
还有一种情况时非正常退出程序时,post的数据也可能丢失
db服务器连接mysql+redis高可用高性能框架干货1、使用c++语言,vs2019开发垮平台[windows和linux]连接MySql和redis框架。2、使用MySql持久化玩家数据,redis做玩家数据缓存层,redis不做数据持久化。mysql搭配redis工作效率非常高效,就好比男女搭配干活不累,没有redis,mysql也能独立很好的完成用户读请求。有了redis,用户访问数据的效率更高,时间更短,快速的完成请求。3、讲解如何保持mysql和redis数据强一致性策略,并在代码里实现。每次启动redis,使用管道技术,从mysql批量导入活跃用户数据到redis,并设置过期时间.4、教程使用线程池技术,每个线程拥有自己独立的数据,线程绑定类。每一个实例就包含一个线程每个线程数据里包含:mysql连接器、redis连接器、内存回收池、安全的串行队列、条件变量、互斥量保证线程内的数据安全。5、工作原理:没有请求时,各个工作线程处于休眠状态。有读请求时,从线程池获取一个线程,添加读请求,把数据推送到线程工作队列。然后工作线程获取队列的数据,进行串行工作任务安排,进行mysql数据操作,以及redis读数据操作,当完成工作任务时,执行下一个工作任务,同时把处理结果推送到逻辑线程,把数据给用户。6、用户读数据策略:用户获取数据首先是先从redis查找数据,redis命,返回数据给玩家,redis命失败,mysql查找数据,然后数据到redis,返回数据给用户。7、用户数据策略:用户先从redis删除数据,然后数据到mysql,最后再把数据到redis,保持数据一致性。8、教程是一个干货教程,不是新手教程,mysql基础语法讲解的少,redis有讲解基础系列。教程讲解的是如何搭建一个支持高并发,高性能的读数据框架,使用mysql+redis搭配的高可用、高性能框架。该套框架在多个项目使用过,也在棋牌类项目里面使用过。

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧