精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖

锐英源精品原创文章,禁止转载和任何形式的非法内容使用,违者必究
最近有朋友问公司让新人用AI写代码,又不允许提交模型生成内容,怎么做?。
最新消息,有一个开源项目。 Super CodeGX能够把代码的AI风格AI味道改成相对有人工风格的味道。不过目前只能处理Python,不支持其他语言。用Super CodeGX需要读取你的代码,在理论上是安全的,但是它毕竟是开源的项目,开源的呢就只能是试一试的感觉。
所以这个问题回到本质上是新人,新人用AI写代码。新人对AI代码的审查能力比较弱。比较弱就不安全。所以就需要快速的学习,学成一定的终极的能力,让老板和同事放心。同时对AI生成的代码的问题呢,能够找出来,能够重写一下。这里讲到本文的重点,AI是能指导新手,快速进阶到中级的,就看您是怎么用。
现在很多公司用AI构建知识库来进行指导教育和员工培训,这表明AI的教育培训是已经走通的形式。
如果没有知识库个人来说,怎么让AI当成自己的老师来让自己快速成才。
首先要深刻理解AI生成文档的框架完美性, AI对各个网页进行收集整理总结,能够生成学习线路文档,生成具体问题的解决文档,有这两个文档呢,耐心的去看一看,理解同时把例子里面的代码抄一抄再改一改,或者试用一下。
锐英源软件在开发工业控制平台的时候要进行数据的热冷备份,热数据进行缓存优化,调用内存数据库来实现这个目的,中间使用过influxDB,开发的缓存优化模块功能正常,Influxdb对很多新手都是非常陌生的,这里就用DeepSeek加influxdb呢,来讲一讲如何在方向性进行学习,在细节上怎么学习。
向DeepSeek问influxdb是什么?
InfluxDB 不是一个纯粹的内存数据库,而是一个混合存储架构的时序数据库(Time Series Database)。它借鉴了内存数据库的设计理念来追求高性能,但同时也将数据持久化到磁盘,以确保数据不丢失。
它的工作方式可以从“内存”和“磁盘”两个层面来理解:
为了追求极致的读写速度,InfluxDB在内存中做了大量工作:
内存索引 (In-Memory Index):默认使用内存索引来快速定位数据。这虽然查询极快,但系列基数(数据序列的数量)会受限于可用RAM的大小。
内存缓存 (In-Memory Cache):新写入的数据会先进入内存缓存,使其立即可被查询。
内存缓冲区 (Memory Buffer):在InfluxDB 3.0等新版本中,数据会先被保存在内存缓冲区中,定期再写入持久化存储。
内存列式存储:新版InfluxDB使用Apache Arrow作为数据在内存中的列式格式,以实现低延迟的实时查询分析。
为防止数据丢失,所有数据最终都会可靠地保存到磁盘上:
预写日志 (WAL):数据写入内存缓存的同时,会立即写入WAL。这是数据库崩溃后恢复数据的保障。
TSM文件:内存缓存中的数据会定期写入磁盘,形成TSM(Time-Structured Merge Tree)文件。TSM引擎解决了时序数据高吞吐写入、压缩和查询速度的问题。
Parquet + 对象存储:在InfluxDB 3.0中,数据最终会以Parquet列式格式持久化到对象存储(如Amazon S3)中。这种设计在提供高压缩比的同时,也实现了存储与计算的分离。
与Redis等将所有数据保存在RAM中的典型内存数据库不同,InfluxDB的设计目标是高性能与数据持久性兼得。它利用内存加速,但核心存储引擎确保了数据被安全地写入磁盘。
如果你想让它完全在内存中运行,官方文档和社区反馈表明,这并非设计目标,且不被推荐。唯一可能的“变通”方法是创建RAM磁盘来存放数据文件,但这样做效率低下且没有实际意义。
-----------------结束线---------------------------
从这总结可以看到influxdb技术点就是内存和磁盘两个方向,每个方向找一些命令行代码,自己操作操作。当然在操作前要安装好这个influxdb这种环境。安装在DeepSeek上也可以搜到文档,按照文档安装即可。
在提问:influxdb的In-Memory Cache有什么命令?硬盘存储有什么命令?回答比较长,这里就不不全面说,就举了一个命令。
| 查询 | SELECT * FROM last_cache('table-name', 'cache-name') SELECT * FROM distinct_cache('table-name', 'cache-name') |
在SQL查询的FROM子句中使用特定函数来查询缓存数据。 |
查看磁盘使用情况:
influx_inspect report-disk -detailed /var/lib/influxdb/data/
这些命令记牢,学以致用,然后就可以在AI和实际代码之间建立转换层,通过转换层的能力的实现,转换一下代码,边转换边审查,就能把AI代码提升安全性,提升到一定程度。
但是有一个很实际的问题,AI的输出实在太快了啊,这么学起来对于新手是时间急促,在精力上是有压力的。这时候对方向知识有印象,精力放在具体细节上,对于AI生成的代码的细节,我们可以再问AI,问懂了以后,把它进行调整修改,同时加一些自己的注释,用土办法解决实际问题。
这一般是在工作中的时候的选择,在学习期间,特别是大学期间,最好是抱着一些书把基础的内容全部学会,在基础层面能到做到灵活运用知识全面。