如果一个表中一个字段特别长,有必要考虑使用 redis 存储吗?

2023-09-06 11:30:50 +08:00
 gzk329

不考虑分表,和分成几个的话
那有比要为了这个,引入一个单节点的 redis 服务存储吗?
目前这个字段很长的话,入库会很慢,几十秒。

3471 次点击
所在节点    Java
37 条回复
boobo
2023-09-06 11:37:06 +08:00
楼主用错地方了吧,redis 称之为缓存服务,数据库是固化数据用的...
gzk329
2023-09-06 11:41:07 +08:00
@boobo 就是我把这个字段,存到 redis 中,关系型数据库表里,这个字段留空,提高我入库效率。
debuggerx
2023-09-06 11:42:54 +08:00
存文件也比存 redis 好吧
lvxiaomao
2023-09-06 11:45:16 +08:00
首先看看为啥内容这么多,是否可以有其他方式搞一下?
boobo
2023-09-06 11:46:30 +08:00
@gzk329 数据库注重的是数据的固化和一致性,你存内存里了数据固化咋办?某次重启就丢掉了!
liuzhedash
2023-09-06 11:46:40 +08:00
@gzk329
可以先缓存到 redis ,然后用一个后台线程逐步写入数据库,当然这里有个风险是如果服务器异常关闭,会丢失一些数据。
cominghome
2023-09-06 11:47:00 +08:00
多长的字段入库要几十秒?你直接往数据库里写四库全书了?
Akuikkk
2023-09-06 11:49:06 +08:00
存到文本,上传到 oss ,字段存 oss 链接
Arrowing
2023-09-06 11:51:22 +08:00
特别长是多长,放 redis 不是技术割裂吗,难以维护,易出问题。
largetext 不够你用的?
chendl111
2023-09-06 12:05:32 +08:00
很长有多长?调整数据类型,压缩数据都行呐,入库太慢就弄个异步线程,不过出故障恢复数据挺麻烦的
roundgis
2023-09-06 12:09:28 +08:00
redis 我記得單條不能超過 512M?

你能搞這麼大的串不考慮分切一下?
Mithril
2023-09-06 12:12:32 +08:00
一条记录插几十秒的话,建议直接存文件。。。
akira
2023-09-06 12:29:35 +08:00
入库会很慢,几十秒?

这么大的数据可以考虑持久化到文件系统,然后数据库里面只保存链接。
RedBeanIce
2023-09-06 12:43:43 +08:00
请详细描述你的根本问题。。。

你这个问题感觉是遇到了一个问题,自己想了一个办法。
然后又遇到了问题,所以才有了这个帖子。
msaionyc
2023-09-06 13:08:38 +08:00
你 redis 挂了咋整?
另外,你这个字段到底有多长?真的合理吗
如果是大文本字段,可以建一张专门存 Text 类型的表,然后用主键关联起来。如果 Text 类型不够用,你得考虑其他方案解决了,总之存 redis 不是一个好方案。
jyao
2023-09-06 17:31:04 +08:00
是 blog 字段嘛,如果是建议你存对象存储比如 oss 上,字段存地址就行了
shinyruo2020
2023-09-06 17:45:59 +08:00
X-Y Problem
awalkingman
2023-09-06 18:32:29 +08:00
一致性问题你怎么处理
捡了芝麻丢了西瓜。
xuanbg
2023-09-06 18:43:07 +08:00
有多大?我们几十 M 的富文本,也是秒入啊。
wonderfulcxm
2023-09-06 19:03:46 +08:00
以前做小说站,三国演义全文都是秒入。你啥字段?

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

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

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

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

© 2021 V2EX