使用 redis 作为数据库(非缓存),有什么建议吗?

2021-10-03 22:39:28 +08:00
 HUNYXV

一个新的项目,上级的意思是要使用 redis 作为主数据库来提高服务的性能,使用 mongodb 或 mysql 等数据库作为冷备数据库。 大家有这样用的吗?

6265 次点击
所在节点    Redis
47 条回复
ch2
2021-10-04 11:57:09 +08:00
经常备份 aof,数据别存太多防止爆内存
luin
2021-10-04 12:02:43 +08:00
一个建议是管理 Redis 时可以用我写的 Medis: https://getmedis.com/ 哈哈哈

正经来讲,虽然可以(确实有不少公司这么用),但是非常不推荐,除非你们真的知道自己在做啥...随便想几个例子:
1. Redis 的查询能力相比 MySQL 和 MongoDB 而言很初级,所以实现一些功能你需要手动维护二级索引。维护成本随着数据复杂度会明显上升;
2. 作为 primary database 的生态环境比其他正经数据库差。例如性能分析;
3. 一般情况下,空间大小受限内存;除非用非官方的各种 SSD/RocksDB 魔改版;
4. 没有事务啥的,不过看来你们用不上...

记得 AOF & 设置好 fsync 。
freelancher
2021-10-04 12:21:17 +08:00
数据丢了就等着向老板吊得半死。最后被炒。
roundgis
2021-10-04 12:37:36 +08:00
redis 不要考慮持久化
palmers
2021-10-04 13:00:48 +08:00
如果是性能 可以通过多种手段优化,比如 JVM+reids+mysql 的形式 如果数据可以快速恢复 可以放 redis 里 如此数据不丢失 只要可以保障数据安全 我觉得怎么折腾都可以 只要达到目的就行了
palmers
2021-10-04 13:02:00 +08:00
JVM 是指 localcache 的类似东西
debuggerx
2021-10-04 14:24:28 +08:00
如果应用场景确实不注重数据可靠性,为了提高性能这样用,完全是可以的,而且可以设计地简单可控。我之前一个 H5 游戏就是这个思路写的,效果非常好
HUNYXV
2021-10-04 14:40:00 +08:00
@aptupdate redis 中保存的数据是有时限属性的,现在是为了快速上线,等数据量达到很大规模,可能就考虑更换了
ps:主要开发就我一个人😂
simonlu9
2021-10-04 14:52:16 +08:00
内存是个问题,试过爆内存写入失败情况
securityCoding
2021-10-04 15:48:09 +08:00
图什么呢
jorneyr
2021-10-04 16:18:49 +08:00
工作中尽量按照上级的安排做,不要自作主张并且反驳抵触,正确与错误并不重要,但是同时要留下足够的证据:
1. 听上级的,叫你怎么做就怎么做
2. 为了避免后期出问题后背锅,根据上级的意思,写设计文档,然后通过邮件的方式发给上级,让他给评审一下,评审通过后继续开发,以后有据可查
victor
2021-10-04 17:04:44 +08:00
@luin 支持 M1 架构了吗,是的话就支持一波
wolfie
2021-10-04 17:12:53 +08:00
事务怎么办
fannas
2021-10-04 17:16:24 +08:00
作为数据库,oracle snowflake 不香了吗
再不济 mongo db 企业版也行
yidinghe
2021-10-04 17:27:11 +08:00
如果确实你的业务不需要进行关系型查询,这样做倒是无可厚非,不过这种场景我想不出来。
luin
2021-10-04 18:39:30 +08:00
@victor 支持的
leafre
2021-10-04 21:33:21 +08:00
不建议
wangxiyu191
2021-10-04 22:52:32 +08:00
如果可靠性非常重要可以考虑一些针对数据可靠性和一致性进行了增强的 redis 接口存储服务。
https://aws.amazon.com/cn/memorydb/
https://help.aliyun.com/document_detail/183956.html
akira
2021-10-04 23:27:28 +08:00
看你们的实际业务情况呀,如果确实能大幅度提升性能的话 那为什么不呢.
之前有个案例就是,一个海外的图片分享网站,就是用了十几台 redis 做的集群,性能超好。
786375312123
2021-10-04 23:53:14 +08:00
redit 自己就有机制可以冷保存在硬盘上啊

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

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

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

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

© 2021 V2EX