• lJ
    2024-12-25 来自江苏
    1. 只支持 []byte 类型的数据存储,不支持复杂的数据结构,需要自行序列化和反序列化数据,增加了开发复杂度。 2. 使用环形缓冲区存储数据,数据写入时是连续分配的,但删除时只标记为无效,不回收空间。导致内存利用率降低。

    作者回复: 👍👍序列化反序列化本身,也会导致性能变差。比如我们做请求处理,如果一次要从缓存里获取很多条数据并反序列化出来做一些逻辑处理,这时候大量的反序列化,也会导致接口延时也会上涨。

    
    
  • 快叫我小白
    2024-12-25 来自上海
    runtime.GC 这个函数为何在函数内外都调用一次呀?而且测试函数似乎没产生需要回收的临时结构体,我们调用GC函数仅仅是为了观察垃圾回收的扫描时间吗?

    作者回复: 第一次调用是为了让GC清理掉我们因为生成这个map而分配的一些临时变量。第二次调用基本就是GC扫描标记map的时间。这个的目的确实是测试GC在map上花费的时间。因为我们做本地缓存,map是个全局变量,虽然不会回收这个map,但是每次GC都会扫描

    
    