三种常用的数据存储技术
数据存储技术当今最主流、最常用的数据存数技术有MySQL、SQLite、Redis他们三者各有不同的长处用途也不同可以互相配合使用对比如下MySQL存中心SQLite存本地Redis存缓存本质数据存在独立的服务进程中程序通过网络发命令进行读写数据直接存储在文件中程序可直接读写数据存储在服务器的内存里重启可能会丢失数据但是读取速度很快运行模式客户端-服务端C/SC/S直接嵌在程序内部数据模型表格行表格行K-V键值对存储部署方式需要设置账户、权限、端口等简单直接复制.db文件不需要进行多用户账号的管理只需要关注内存上限控制、内存淘汰规则、数据持久化方案读写速度较慢需要网络传输与TCP握手连接池也有损耗快无网络开销快直接在内存中进行读取并发写入强支持多版本并发控制弱多线程写入会阻塞强单线程原子操作并发读取强强强数据容量极大理论上极大但是太大会影响性能受限于内存大小持久化持久且支持崩溃后修复持久直接写入在硬盘里默认非持久但可以通过方案解决主要用途MySQL用在Web网站、账户管理等不能接收丢失的地方不适用与数据结构简单且要求响应速度极快的场景SQLiteAI agent本地记忆、手机APP数据、桌面软件等不适用于Web这种需要高并发的场景Redis适用于缓存层、会话/登录状态存储、消息队列等不适用于数据量大、数据丢失后果严重的场景相互配合使用案例在进行agent开发时前台agent接收到用户请求后分解任务把不同的任务模块放在对应的专属Redis队列中对应的Sub-agent从Redis中拿到任务后再执行任务在执行的过程中把得到的临时结果都放在自己的SQLite中最后由主agent进行审核通过后将所有数据汇总并存入到MySQL中方便用户后续的查找