armink / FlashDB

An ultra-lightweight database that supports key-value and time series data | 一款支持 KV 数据和时序数据的超轻量级数据库
Apache License 2.0
1.7k stars 400 forks source link

check the current timestamp, MUST more than the last save timestamp #278

Open edwardhey opened 5 months ago

edwardhey commented 5 months ago

image

从1.1.2版本开始在32位的机器上使用时间戳来写入数据,不允许同一秒写入相同数据了么?这是出于什么方面考虑的呀?

jingfengLu commented 4 months ago

关注一下,同样有1s内多条写入的需求。

armink commented 4 months ago

为了避免插入同样时间,但内容不一致的数据

如果遇到这个问题,可以修改 get_time 的时间戳获取精度,默认是秒级,可以改为毫秒级

Elsa-is-My-Muse commented 1 month ago

为了避免插入同样时间,但内容不一致的数据

如果遇到这个问题,可以修改 get_time 的时间戳获取精度,默认是秒级,可以改为毫秒级

朱总,这个问题感觉不太好处理,如果使用ms,因为cur_time是int32的,那么此刻应该发生溢出了。如果发生溢出根据代码逻辑,应该是一条都存不了~~!

armink commented 1 month ago

为了避免插入同样时间,但内容不一致的数据 如果遇到这个问题,可以修改 get_time 的时间戳获取精度,默认是秒级,可以改为毫秒级

朱总,这个问题感觉不太好处理,如果使用ms,因为cur_time是int32的,那么此刻应该发生溢出了。如果发生溢出根据代码逻辑,应该是一条都存不了~~!

时间戳是可以设置为 64bit 的,开启一下 FDB_USING_TIMESTAMP_64BIT