Web 开发对于站点名称这类读非常多,几乎不写的内容存储的最佳实践是存在配置文件/数据库,程序启动/发生变更时缓存在 Redis 里吗

2022-04-03 02:45:26 +08:00
 rv54ntjwfm3ug8
1416 次点击
所在节点    程序员
6 条回复
bthulu
2022-04-03 08:13:11 +08:00
不写的内容你还存干嘛, 就放程序变量里就好了
foam
2022-04-03 11:13:33 +08:00
半年不更新一次的,hard code 在代码里可以的。
有更新列表需求的话,放数据库或配置中心,服务启动时加载到内存就行,隔段时间主动拉取更新下内存。
Redis 我就觉得不是很有必要咯,除非你的 web service 不是常驻内存的,没有本地缓存(例如 php),那么是可以考虑 redis 。

最后,最佳实践是要结合场景的。你的上下文信息不够。服务类型,请求量,服务部署规模和架构
seakingii
2022-04-03 11:50:43 +08:00
比较好的实践,物理存储在数据库,并存一份在 REDIS 中

然后再加个配置更改以及订阅通知服务

简单的可以用 REDIS 来实现(可以订阅)

任何配置一更新,所有依赖配置的网站服务程序马上收到通知,并做出反应
opengps
2022-04-03 12:13:37 +08:00
读远远大于写,缓存提速的效果非常大。
至于加载时机,你可以是首次读取时候单条加载到缓存,也可以考虑启动时候全局加载到缓存
使用缓存注意处理好维护逻辑,比如先更新数据库,在删除缓存,避免读取缓存旧数据导致的错误
Red998
2022-04-04 20:33:25 +08:00
数据不大建议启动的时候 load 到本地内存中、性能最高。Caffeine 就不错、存储、还是 LRU 策略、还是刷新缓存都不错。
night98
2022-04-05 01:08:55 +08:00
这类在运行期 0 变更的通常直接扔内存,方案楼上都说的差不多了就不补充了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/844671

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX