小哲博客
当前位置:小哲博客 > 技术教程 > 正文

编程中的读写文件和数据库

经常见到有人把配置写到文件中,这个做法用于保存配置,确实比较简单,小哲我也经常这么干过,但久而久之,会养成习惯,不管是啥信息,只要想保存的信息就写到文件里面,有一些编程语言还专门给配置文件开放了函数,使用起来很容易,但如果当自己的代码足够多,甚至别人使用的时候,就会出现一些问题

最容易遇到的问题就是多线程,多个线程想往同一个配置文件中写内容,比如小哲最近在做的工程,多个线程都要写日志,可能线程少写的很快,基本不会遇到错误,但是当运气不好的时候,总会有两个线程在同一时间写,这时候就会导致程序出现一些问题

可能加上锁就可以解决问题,但说实话,有这个时间去改代码加锁,其实我觉得不如直接改成数据库是比较好的,如果是特别多的数据,那Mysql的成熟稳定就不多说了,如果是没有太多的数据,sqlite也是一个不错的选择,不用配置系统环境,直接就可以写,遇到抢占的情况,还会比较高效率的等待(反正小哲我自己写的文件锁,CPU感觉占用比sqlite的等待高,不知道为啥)

现在养成习惯了,简单的配置文件我也写到数据库里面,总觉得自己写的代码bug是比较多的,不如人家这些成熟的公司的代码,用数据库还是比用文件心理更踏实一些,事实证明,软件也确实稳定了不少

小哲博客所有内容已通过【鲸版权】登记,未经授权禁止转载!谢谢合作

推荐相关阅读

编程是一门语言,但和英语又分不开

之前经常有人过来问我关于编程的一些事情,一般都是关于入门学习哪个语言的,所以今天就想聊天我的一些理解,不管是编译型语言还是解释型语言,我的总结是,编程是一门语言,但和英语分不开...

招代理:用C#写了一个优化工具

花了近5个月的时间,总算是写完了这个工具,说实话,以前上学的时候没学过C#,再加上写Python和java多了之后,会养成好多小习惯,感觉自己离了IDE已经不会写程序了(VS是...

pyinstaller打包成功,但win32api包不存在

最近使用Python开发了一个工程,记录一个pyinstaller的问题,打包EXE成功,但是在运行的时候提示win32api包不存在。如果你也定位到是win32api包不存在...

Win11恢复Win10右键菜单

Windows11的右键菜单采用了折叠的方式,这是小哲我最不习惯Win11的一个地方,其实每次Windows更新大版本的系统,我基本上都会选择第一时间更新,比如Win7和Win...

电脑Wifi强制使用5G或某个协议

最近电脑用无线WIFI比较多,连接双频合一的WIFI,经常会自动连接到2.4G的频段上,2.4G速度慢干扰也多,就想着能不能强制连接5G的WIFI,在网上找了一圈发现大部分的答...

清除Windows系统更新记录

Windows系统的更新记录虽说不占硬盘空间,但看着挺难受的,尤其是对我这种有点强迫症的人,之前删除系统目录下的SoftwareDistribution日志就可以删除更新记录,...

禁用JS断点调试

这段时间好多站被挂马了,打开后会跳转HS网站,我帮忙查看的时候发现这些站都不知道在哪加载了断点调试的JS代码,站长自己也不知道代码在哪,本来我想找到断点调试的代码,然后禁掉这段...

图片懒加载:加速网站的小技巧

图片懒加载估计大部分站长都听说过这项技术,就是先让网页加载出来,让浏览器把其他的内容渲染出来,然后在访问的过程中加载图片,如果网站服务器速度比较快的话,这个技术没啥感觉,但如果...

TIM登录超时00001解决方法

这两天登录TIM的时候总是提示网络超时,偶尔又可以登录,失败的时候提示请检查防火墙设置,错误代码00001。根据TIM官网的文档,00001是纯粹的网络问题,然而我的电脑压根就...

免费用超级计算机AI生成文章(鼠标点2下超简单)

看到有人付费使用AI生成文章的软件,其实这种开源的程序几年前就被玩烂了,之所以一直不温不火,主要是百度虽然收录不错,但排名并不好(2019年我测试的时候是这样的结果,现在不确定...