其实我心里大概是有一个答案的,就是怕断电丢 5 分钟左右的数据?
如果不考虑断电的情况呢,因为阿里云腾讯云我用了好多年都没遇到过断电,而且就丢失 5 分钟,概率上还没有中勒索病毒大。
其他的我暂时也想不到什么坏处,顶多是逻辑要自己写,大表拆分起来要动动脑。
好处不用说了,速度起飞,内存占用低。
所以还是想请教一下各位大佬,到底有没有可行性
|  |      1kiracyan      2020-06-28 14:58:38 +08:00 本来就可以这样做 只不过看你能承担的风险是多少而已 | 
|      2Jooooooooo      2020-06-28 15:01:09 +08:00 运维过好几 T 的 redis 集群? | 
|  |      3monsterxx03      2020-06-28 15:02:12 +08:00 via Android 你的数据库大小不能超过机器内存喽,开了 aof 也就丢一秒,还有 redis 那个事务不堪用 | 
|      4pastgift      2020-06-28 15:04:49 +08:00 via iPhone 怎么会内存占用低呢? redis 的内存也是内存呀 比如正常 mysql 里存了 10 个 G 数据,换 redis 岂不是要 10 个 G 内存? 你真的只考虑数据全内存里读写,sqlite 放内存,或者 mysql 内存表,加个定时刷到硬盘不就行了 | 
|  |      5takemeaway      2020-06-28 15:06:42 +08:00 哪来的丢 5 分钟?  可以不丢的。 就是看你内存够不够。 | 
|  |      6luckyrayyy      2020-06-28 15:06:44 +08:00 不光断电,硬件坏掉的问题?进程挂掉?系统意外死了?另外备份也不是五分钟吧,你完全可以调更低。要是丢数据对你来说完全不重要,那当然只用 redis | 
|      7GM      2020-06-28 15:07:31 +08:00 看你是用来干嘛的了,个人网站随意。 公司正式用途的,别瞎想。 | 
|      8vivipure      2020-06-28 15:11:37 +08:00  2 数据库只是一种方式,你用个 json 或者 txt 文件存数据也没问题啊,只是效率问题。 | 
|  |      9lshero      2020-06-28 15:36:06 +08:00 对运维的要求挺高的,之前的公司大部分项目就是 Redis 所有的 Redis 实例每一次存取都有监控 阻塞操作热点 key 之类的问题过一会儿就可以反馈给业务部门 DBA 对 RDB 文件解析恢复使用的贼溜 | 
|  |      10xuanbg      2020-06-28 15:39:19 +08:00 楼主说的速度起飞,大概就是 30 毫秒的响应时间变成 3 毫秒。这点提升其实体验并没有那么明细,所以根本不重要。 | 
|  |      11realpg PRO 会很爽  技术实力不够,就会很酸爽 | 
|  |      12zzzmh OP 多谢回答,了解了,先开个虚拟机试试水好了。redis 一直也就作为缓存在用,之前没有足够的深入了解。 | 
|  |      14est      2020-06-28 15:53:38 +08:00  3 | 
|      15liuguang      2020-06-28 15:59:31 +08:00 小数据量可以用用,海量数据的时候内存限制了 | 
|  |      16swulling      2020-06-28 16:00:51 +08:00 via iPhone redis 主从配好 断电也只损失同步延迟内的数据 | 
|  |      17lshero      2020-06-28 16:01:42 +08:00 @defunct9 自己搞了个代理呗,把分片监控的问题都解决了,然而代理的可用性又是下一个问题了。 不过业务都允许用 RDB 恢复数据了代理的高可用性也没有这么重要了。 | 
|      18jifengg      2020-06-28 16:17:34 +08:00 redis 不是“关系型”数据库,所以有“关系型”的业务的时候,只用 redis 来存数据读数据,不管是开发还是运行其实都不是很好。开发就不用说了,可能需要在存的时候就存很多对应关系。读的时候,需要读好几次才能读完你要的数据。所以,还是看具体需求了。 没有什么“关系型”业务的,很适合,比如上面说的博客。 像一般的什么管理系统,就不太适合。 | 
|  |      19yinjunjian0      2020-06-28 17:45:20 +08:00 脱离场景没什么好讨论的吧 | 
|      20DreamH      2020-06-28 18:28:20 +08:00 陌陌一直都是用 redis 当数据库,主要是操作方便,抗量简单 | 
|  |      22arloor      2020-06-28 18:59:39 +08:00 via Android nodebb | 
|  |      23ClarkAbe      2020-06-28 19:06:44 +08:00 via iPhone 之前用 Golang 嵌入式纯 kv 数据库写了个漫画网站....从推荐到分类,用户模块到记录每一次访问者信息都 ok......不过推荐那些最好别即时....而且查找什么的由于对算法实在头疼也没什么算法就是把数据分(数据总数 /5-10)份然后每一份一个 goroutine 暴力遍历因为用的是 json 的原因所以要转 map 不过我在转 map 前先让他匹配一下是否包含要查找的 value 所以速度超快......当然数据量到 n 亿条了就........ 就是架构挺麻烦.....一共搞了 10 个架构然后一个个实现再一个个测试性能大概用了一个季度......写完差不多就半年过后了 | 
|  |      24ClarkAbe      2020-06-28 19:09:01 +08:00 via iPhone 跑起来后日活 ip 2000 左右,内存占用 130M-300M 左右根据 goroutine 的数量变化 vultr 最低配鸡稳定跑到现在还跑着 | 
|      25emanci      2020-06-28 19:09:52 +08:00 会这样?当然是费钱了。 | 
|      26dobelee      2020-06-28 19:10:04 +08:00 via iPhone 存储成本剧增,不方便复杂查询,维护成本高。别的跟数据库一样。 | 
|      27LukeChien      2020-06-28 19:23:31 +08:00 via Android ssdb 可以试试 | 
|  |      28qwerthhusn      2020-06-28 20:01:13 +08:00 这得看是什么网站 | 
|  |      29murmur      2020-06-28 20:03:47 +08:00 不需要持久化么? redis 的持久化跟传统 mysql 这些比呢 | 
|      30liaokylin2v      2020-06-28 20:43:31 +08:00 via Android 应用场景合理就可以,有啥问题 | 
|  |      31pmispig      2020-06-28 21:17:12 +08:00 你不如把 mysql 的表文件放到内存,自己写个内存文件系统定时 sync 到磁盘 | 
|  |      32wangyzj      2020-06-28 22:09:28 +08:00 内存贵 | 
|  |      33Nicoco      2020-06-28 22:10:02 +08:00 CSDN 曾经搞过去 SQL 化,全站上 xml 的。 结果呢? | 
|  |      34lihongming      2020-06-28 22:57:58 +08:00 via iPhone 别被复杂查询吓到,即使是 amazon,也只有百分之十几的查询是关系型查询,其他都可以用 nosql 。 为了这百分之十几的查询而降低那百分之八十多查询的效率不值,所以 amazon 转向了 dynamodb 至于复杂的那一小部分,用程序拼凑就好。 | 
|  |      35lithbitren      2020-06-28 23:22:05 +08:00 在知乎上看到好像有公司是真的堆 redis 做数据存储的,就是太费钱,不过老板喜欢,其他暂时没有太严重的问题。 不过也就看过这么一例,也不知道是不是编的,网上绝大多数碰到这个问题的都是劝退,也几乎没人敢尝试放在业务上。 | 
|  |      36594duck      2020-06-29 08:11:18 +08:00  1 丁香园的 CTO feng 大用 redis 做底层,结果事后大家都知道了。  不要老想搞个大新闻 ,什么 IOT 替代计划。真的商业数据库能力甩 MYSQL 一百条马路,除了穷没有不用的道理。而至于 Redis,他只是个 KV,KV 就只干 KV 的活,任何的想象都是犯罪。 | 
|      37P0P      2020-06-29 10:54:11 +08:00 要是想用简单的关系型数据库的话,sqlite 也是不错的,可以运行在纯内存模式或者基于文件模式, pv 不高的话很好用 | 
|  |      38heiheidewo      2020-06-29 13:02:38 +08:00 kv 一把梭哈(可以用 leveldb 省内存),关系数据全部读到内存处理 | 
|  |      39zzzmh OP @heiheidewo 刚了解了一下 leveldb,好东西适合我的项目,正在入门了 | 
|      40shyangs      2020-07-25 13:49:36 +08:00 内存好貴的。 | 
|  |      41ychost      2020-07-26 10:34:25 +08:00 如果觉得关系型数据库的速度太慢,可以考虑使用 Orcale/SQLServer 的「内存表」,这样既有事务支持,而且内存加持速度还很快,还能定时通过快照持久化,也支持水平扩展 |