业内有没有把 redis 开启 aof=always 当做数据库使用的?

289 天前
 Orlion

个人理解对于简单的存储 kv 、读写压力都比较大的需求,完全可以开启 redis 持久化,当成一个数据库来用的。aof=always 既不会导致数据丢失,也能获取极高的读性能,虽然写性能会变差,但相比 b tree/lsm tree 这种磁盘数据库性能还是比较高的吧。

而且还有个好处就是避免了常说的“缓存一致性问题”😄。

各位大佬厂里有没有这样用的?如果没有原因是什么呢?

6908 次点击
所在节点    Redis
33 条回复
FawkesV
289 天前
内存太贵
ShuA1
289 天前
你把持久化的内容作为标准内容输出再导入试试
LongMaoz
289 天前
碰到过哦,天才设计,把 Redis 当数据库用 聚合运算无法实现,想聚合运算只能把所有数据拉到内存里再计算,延迟大得吓人

单机架构,高并发情况下 Rrdis 单线程执行,所有人全部在等待慢查询,所有 IO 也没有使用异步,整个系统高并发情况下直接崩掉
securityCoding
289 天前
有,很多活动数据都是直接丢 redis 里面
bruce0
289 天前
我们就这样用, 以前的时候,这个只用在数据规模比较小的时候, 一个 redis 大约几十, 几百 MB 吧,因为以前的 redis aof 和 rdb 性能没那么好, 数据量太大性能有影响. 数据规模大的 redis 自己做了一个 monitor 工具,来做数据落地

后来还换过 pika 这样的硬盘型的 kv 数据库, 优点:数据实时写入硬盘,不用担心断电数据丢失, 而且使用成本低, 数据量不受内存制约. 缺点, 读写延迟相对 redis 大, API 不是 100%兼容 redis

现在直接用 云厂商的 redis, 好处就是什么都不用管, 只管用就行. 而且有多种模式, 主从, 集群都有, 基本不用担心丢数据


!!! 最后警告, 我们的业务模式允许极端状况下 丢失少量数据, 如果涉及到非常严格的场景,纯 redis 还是有风险
lovedebug
289 天前
部分服务拿来做数据库,当时只限大数据量和高速查询用途
layxy
289 天前
各种关联组合查询以及数据聚合怎么办
matrix1010
289 天前
简单 kv 内存够大当然没问题。但一般情况下小公司用户少不需要那么快,大公司数据量大放内存性价比太低
kneo
289 天前
自己测一下再说。
infun
289 天前
FrankAdler
289 天前
我所在的公司把 redis 当持久存储使用,有些数据只在内存有数据库没有,好几个集群的内存规模在 tb 级别,当然费用也很高,现在想做降本随随便便都是万/月😄
thinkershare
289 天前
大部分业务都有对写有一致性要求(而且不是简单的 K/V 写入),Redis 只能用读(也要处理缓存失效的问题),完全无法处理写的一致性问题。
你看国内几家大型互联网公司,搞了一堆中间件,结果是一致性总会出现一堆奇奇怪怪的问题,我遇到的就有:美团&淘宝&京东&天猫&腾讯。
PiersSoCool
289 天前
我不信谁的系统里没有 select sum(amount) from money group by user_id 的需求,有的话老老实实 mysql 把
37Y37
289 天前
接触过很多游戏项目,就是直接 Redis 做数据库,并且跑的很成熟了,用户体量很大,基本没出过什么问题。在这之前我也一直认为 Redis 只能做缓存,实践证明做数据库也可以

单 Redis 集群有几个 T 的内存,内存太贵了,胜在现在有一些新产品可以自动分离冷热数据,降低成本到之前的 1/10 左右,很好用很划算
version
289 天前
活动秒杀啥的.上 redis 储存..比看什么高级架构师高并发 ppt 靠谱
vivisidea
289 天前
现在 nvme ssd 的性能很强,容量大的也可以很大,可以考虑楼上提到的 kvrocks 类的 ssd based redis 方案
QWE321ASD
289 天前
其他地方不知道,知乎我看见过好几个说主力数据库是 redis 的
limingzhe123
289 天前
Redis 通过 proxy+instance 做成高可用集群,就是一个内存数据库
guanzhangzhang
289 天前
如果机器配置不高,又混着用,切宕机风险高(例如小公司自建机房,随便的 vmware ,exsi ),aof 的文件会存在损坏几率的
assiadamo
289 天前
游戏行业很多年前就见过把 leveldb 集成到 redis 中当数据库用的

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

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

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

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

© 2021 V2EX