CXPLAY on Nostr: 但是只要事件在 24 小时刷新间隔内被提前缓存进了本地数据库, ...
但是只要事件在 24 小时刷新间隔内被提前缓存进了本地数据库, 这个 RSS/Atom 路由生成输出的时候就会立马读取, 比如有人主动用 njump 预览了一个还没有进入缓存的作者的事件, 那这个 RSS/Atom Feed 排序就直接乱掉了, 而没有被主动用 njump 预览过的事件就不会进入 Feed.
现在魔改了一下, 把 RSS/Atom 路由单独进行单独的判断, 不缓存也不从本地数据库读缓存事件, 每次有请求才立马从预设的外部中继里请求并生成 Feed, 请求数量也从默认的 100 条调到了一般 RSS Feed 常用的 20 条.
(实际生成 Feed 的的 entry 数量可能会多于这个数)
虽然 njump 给 Feed 的 .xml 设置了缓存控制标头, 但是基本上绝大多数的 RSS 阅读器都不会遵守, 于是还得用 CDN 强行给 .xml 缓存一遍(虽然缓存标头还是遵守源服务器).
PS: 总感觉还会有什么奇怪bug.
Published at
2024-05-27 07:22:01Event JSON
{
"id": "12244338eaf53289e4736df783b8444f8f26086b622e62472c6554433850b34c",
"pubkey": "434f97993627f1e61f14eeaf60caa8cfdcec10a592caff8250c825252d548c15",
"created_at": 1716794521,
"kind": 1,
"tags": [
[
"emoji",
"eveonecat_coffeebath",
"https://media.naeu.net/s/2024/03/28203838-480-f547ad5e-d341-4ab1-ad02-08d7afed33bd.webp"
],
[
"e",
"3b117ae418f3bb778dde4ba1889f5f3d3be0802f98aea91801864183a749543c",
"wss://purplerelay.com/",
"root"
],
[
"e",
"3b117ae418f3bb778dde4ba1889f5f3d3be0802f98aea91801864183a749543c",
"wss://purplerelay.com/",
"reply"
]
],
"content": "但是只要事件在 24 小时刷新间隔内被提前缓存进了本地数据库, 这个 RSS/Atom 路由生成输出的时候就会立马读取, 比如有人主动用 njump 预览了一个还没有进入缓存的作者的事件, 那这个 RSS/Atom Feed 排序就直接乱掉了, 而没有被主动用 njump 预览过的事件就不会进入 Feed.\n现在魔改了一下, 把 RSS/Atom 路由单独进行单独的判断, 不缓存也不从本地数据库读缓存事件, 每次有请求才立马从预设的外部中继里请求并生成 Feed, 请求数量也从默认的 100 条调到了一般 RSS Feed 常用的 20 条. :eveonecat_coffeebath: (实际生成 Feed 的的 entry 数量可能会多于这个数)\n虽然 njump 给 Feed 的 .xml 设置了缓存控制标头, 但是基本上绝大多数的 RSS 阅读器都不会遵守, 于是还得用 CDN 强行给 .xml 缓存一遍(虽然缓存标头还是遵守源服务器).\nPS: 总感觉还会有什么奇怪bug.",
"sig": "bc387998e5450653922333723a1fe1958ecf1f4cff9436d4112bbcc323a39cf1eb9b4b80fa08f320ca5c83804d3a8e975ec3a20c9d834282f34f03252e41a8bb"
}