Redis 可以独立存储数据吗?

2021-08-03 17:14:14 +08:00
 mlxy123123

我一直对 Redis 里存储的数据没有安全感,所以一直都把 Redis 的部分设计成可以随时清空,配合项目中的恢复机制把被清除的数据恢复到 Redis 中

你们会拿 Redis 当可靠的存储空间用吗?默认 Redis 中的数据是不会丢失的,就像其他的磁盘数据库一样

4078 次点击
所在节点    Redis
21 条回复
tcfenix
2021-08-03 17:17:45 +08:00
现在云服务商基本都有"云 redis"类似名字的东西, 这些东西本质是支持 redis 协议, 支持冷热备, 冷数据下沉, 热数据刷到内存, 保证数据持久化安全的一整套东西

不知道你现在用的是什么部署方案, 不过如果你选择相信这一类 redis 的话, 你的代码逻辑能简单不少的....
RRRoger
2021-08-03 17:24:40 +08:00
既想快,又想做持久化。。。。规避风险,还是用 mongdb 吧
mlxy123123
2021-08-03 17:25:02 +08:00
@tcfenix 我问这个问题确实是因为受到了主贴想法的困扰,在想如果相信 Redis,很多事情就可以做得很简单
liprais
2021-08-03 17:47:28 +08:00
没有 wal log 的 data store 都是确定不能保证数据安全的
libook
2021-08-03 17:58:03 +08:00
Redis 支持持久化,RDB 和 AOF 两种模式,一般来说 AOF 可靠一些,但即便如此,仍会有极短的时间内的数据是未持久化的,看你具体项目对丢失数据的容忍程度。

另外貌似 Intel 的傲腾貌似有 Redis 的相关方案。

其实也要看你对 Redis 的需求是什么,如果是要高速读但对写速度要求不高的话,你原有方案就可以;如果对高速写有需求的话,可能就只能堆 IO 写速率了。

Redis 还支持集群,一台机器挂了还有其他机器可以正常使用,分布式一致性策略也可以保证数据不丢失。
thet
2021-08-03 18:10:28 +08:00
配置好 aof,最多 1-2 秒数据未持久化
Jooooooooo
2021-08-03 18:38:04 +08:00
最好是只把 redis 当缓存用.
newmlp
2021-08-03 19:04:11 +08:00
最好当缓存用,缓存本来就是可丢失的
RichardYyf
2021-08-03 21:08:31 +08:00
你需要的应该是那种基于 rocksDB 改造兼容 redis 协议的 k-v 存储吧,像各大云厂商都有自己类似的产品,比如阿里云的 tair,华为云的 gauss db,开源的也有,美图的 kvrocks,360 的 pika
clickhouse
2021-08-03 21:44:37 +08:00
同 #5,redis 本身就支持持久化存储数据到硬盘,也可以选择采用主从的方式进行灾备。不过还是推荐只用 redis 做缓存。
MOONLIGHTT
2021-08-03 23:56:52 +08:00
@RichardYyf KV 数据库是 KV 数据库,缓存是缓存,redis 在设计相关结构的时候完全没有考虑磁盘读写效率的问题,而 rocksdb 或者 innodb 则在设计之初就需要考虑磁盘的性能。
ecnelises
2021-08-04 00:01:59 +08:00
<amp-youtube data-videoid="VLTPqImLapM" layout="responsive" width="480" height="270"></amp-youtube>真有人这样干
wenzichel
2021-08-04 00:09:46 +08:00
redis 可以做持久化存储这件事儿,但最好别这样做。
lscho
2021-08-04 00:37:27 +08:00
你的想法是对的,redis 的数据本来就是不可靠的,当作缓存用就行。

在开发中,默认都是 redis 数据会丢失的。开发的时候要考虑这种情况。
akira
2021-08-04 01:04:43 +08:00
可以是可以,但是有句话,你能搞得定的才是可以
jswh
2021-08-04 06:11:20 +08:00
kuangwinnie
2021-08-04 07:50:49 +08:00
我之前在某大公司实习的时候,用的就是 redis cluster 来当 ram 存储的,没做持久化。
yidinghe
2021-08-04 08:05:06 +08:00
虽然 Redis 有持久化机制,但用来存储大量数据时内存消耗很大。所以想要有个省内存的 kV 数据库的话,ssdb 不错。
opengps
2021-08-04 08:09:15 +08:00
redis 已经具备了持久化支持能力,所以也不是不可以
将缓存设计成随时可以丢失重建的思路并没有什么不妥
wzw
2021-08-04 09:34:44 +08:00
Pika 数据库呀,360 出品

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

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

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

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

© 2021 V2EX