Cache

共 3 篇文章。

给博客做个站内全文搜索:纯前端离线倒排索引的设计与取舍

• Development

最近给本站正在使用的Chaos主题 增加并逐步完善了一套在客户端进行的全文检索功能。

早年本站使用的是Google站内搜索,不过换成Hugo以后模板中的这个搜索框也就去掉了,毕竟现在也没什么人看blog了,写下去除了给自己留点记录之外,或多或少其实是一种行为艺术,而本站的读者基本上也都知道如何使用搜索引擎。

不过,有时我自己也会希望在blog里找一些以前的文章,虽然本站在Google搜索中的覆盖率还相当高,但有些时候新的文章会搜索不到,或是其实内容已经过时但仍然被索引。虽然在大语言模型的帮助下我整体重建了分类和标签的标注,但这些对于定位有时还是不太方便。

Hugo作为一个静态站点生成器,其实已经有了不少成熟的本地搜索方案。不过,今年都已经2026年了,vibe一个本地搜索并不困难。这里记录一下这个本地搜索的演化过程,以及在这个过程中的一些工程取舍。

阅读全文… ( 本文约 4441 字,阅读大致需要 9 分钟 )

Buffer和cache的区别是什么?

• Development

buffer和cache是两个经常被混为一谈的概念。从直观上说,两者都具备改善系统 I/O 吞吐量的能力,但是这两个概念是有区别的,其提高系统I/O吞吐量的原因也不尽相同。

阅读全文… ( 本文约 811 字,阅读大致需要 2 分钟 )

BerkeleyDB使用中的cache同步问题

• Development

今天被一个程序折腾了很久。大致的流程是这样:

事件处理:

  • 打开db文件,如果已经打开,直接使用该handle
  • 获得排他锁,并读某一key对应的value
  • 根据value和一些环境信息以及事件所附带的输入计算新的value
  • 更新value,并同步文件、释放排他锁

锁的机制没有大毛病,可是数据死活不对。

阅读全文… ( 本文约 166 字,阅读大致需要 1 分钟 )