社区目录

共 1.3万 个社区 · 1.1亿 位成员 · 今日新帖 42.6万

当前在线
133万
我的订阅
2
领域
16
全部社区

精选社区

带独立站点与自定义菜单

全部社区

1.3万 条
IO r/ios-opensource315万ES r/esp32-review227万边缘 r/edge-computing-show106万TE r/tensorrt-newbie111万RE r/redis-ops120万MO r/modding-books72.9万PW r/pwa-interview44.7万OW r/owasp-opensource72.6万NI r/nixos-tools73.5万TM r/tmux-pro45.6万应用 r/app-design-news62.3万BA r/baking-events32.5万边缘 r/edge-computing-resources45.1万RE r/react-design41.4万高并 r/high-concurrency-review43.5万整洁 r/clean-architecture-zh27.0万BU r/burpsuite-jobs29.1万AG r/agent-design35.9万HL r/hlsl-perf47.4万FO r/fortran-resources23.6万PO r/polars-newbie31.0万LL r/llamaindex-tools24.6万TA r/tableau-review37.6万前端 r/monorepo-frontend-qa21.7万TU r/turborepo-jobs65.4万CL r/cli-tools-career47.4万离线 r/offline-first-opensource86.2万主从 r/replication-interview19.0万VU r/vue-pro35.2万CA r/capacitor-ops26.5万开源 r/open-source-blog26.8万TA r/tanstack-ops21.7万支付 r/alipay-miniprogram51.0万SW r/swc-interview17.8万ED r/editor-books27.3万MO r/monitoring-pro17.3万

万级列表是怎么扛住的

这一页不只是好看的卡片墙,它对应了四个必须提前定好的工程决策。

1 · 关键词召回

搜索不走 MySQL LIKE。发帖/改帖时同步写入 Meilisearch,检索时由它返回 ID 列表,再回表取详情。中文分词与拼音容错也由它负责。

2 · keyset 分页

不用 OFFSET——第 500 页时 OFFSET 会扫描 3 万行。改为携带上一页最后一条的排序键(如 hot_score + id)作为游标。

3 · 按视口渲染

一次只把视口内约 40 条挂到 DOM 上,滚动时回收。列表项高度固定(本页特意统一了行高),虚拟滚动才能算得准。

4 · 计数与聚合

「16 个领域各多少社区」这类数字不放实时查询,由 worker 每 10 分钟写入 Redis 聚合缓存,避免每次打开目录都全表扫。