V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mlxy123123
V2EX  ›  Redis

Redis 可以独立存储数据吗?

  •  
  •   mlxy123123 · 118 天前 · 2790 次点击
    这是一个创建于 118 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    21 条回复    2021-08-04 10:38:38 +08:00
    tcfenix
        1
    tcfenix   118 天前
    现在云服务商基本都有"云 redis"类似名字的东西, 这些东西本质是支持 redis 协议, 支持冷热备, 冷数据下沉, 热数据刷到内存, 保证数据持久化安全的一整套东西

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

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

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

    Redis 还支持集群,一台机器挂了还有其他机器可以正常使用,分布式一致性策略也可以保证数据不丢失。
    thet
        6
    thet   118 天前 via iPhone
    配置好 aof,最多 1-2 秒数据未持久化
    Jooooooooo
        7
    Jooooooooo   118 天前
    最好是只把 redis 当缓存用.
    newmlp
        8
    newmlp   118 天前
    最好当缓存用,缓存本来就是可丢失的
    RichardYyf
        9
    RichardYyf   118 天前   ❤️ 1
    你需要的应该是那种基于 rocksDB 改造兼容 redis 协议的 k-v 存储吧,像各大云厂商都有自己类似的产品,比如阿里云的 tair,华为云的 gauss db,开源的也有,美图的 kvrocks,360 的 pika
    clickhouse
        10
    clickhouse   118 天前
    同 #5,redis 本身就支持持久化存储数据到硬盘,也可以选择采用主从的方式进行灾备。不过还是推荐只用 redis 做缓存。
    MOONLIGHTT
        11
    MOONLIGHTT   118 天前
    @RichardYyf KV 数据库是 KV 数据库,缓存是缓存,redis 在设计相关结构的时候完全没有考虑磁盘读写效率的问题,而 rocksdb 或者 innodb 则在设计之初就需要考虑磁盘的性能。
    ecnelises
        12
    ecnelises   118 天前
    真有人这样干
    wenzichel
        13
    wenzichel   118 天前
    redis 可以做持久化存储这件事儿,但最好别这样做。
    lscho
        14
    lscho   118 天前
    你的想法是对的,redis 的数据本来就是不可靠的,当作缓存用就行。

    在开发中,默认都是 redis 数据会丢失的。开发的时候要考虑这种情况。
    akira
        15
    akira   118 天前
    可以是可以,但是有句话,你能搞得定的才是可以
    jswh
        16
    jswh   118 天前
    kuangwinnie
        17
    kuangwinnie   117 天前
    我之前在某大公司实习的时候,用的就是 redis cluster 来当 ram 存储的,没做持久化。
    yidinghe
        18
    yidinghe   117 天前 via Android
    虽然 Redis 有持久化机制,但用来存储大量数据时内存消耗很大。所以想要有个省内存的 kV 数据库的话,ssdb 不错。
    opengps
        19
    opengps   117 天前
    redis 已经具备了持久化支持能力,所以也不是不可以
    将缓存设计成随时可以丢失重建的思路并没有什么不妥
    wzw
        20
    wzw   117 天前 via iPhone
    Pika 数据库呀,360 出品
    ch2
        21
    ch2   117 天前
    aof+定期备份 aof 文件就是了
    你不放心就自己另开一个 redis 然后用你备份的 aof 初始化它,看看数据能不能恢复出来
    试过就知道是很可靠的
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1376 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 23:45 · PVG 07:45 · LAX 15:45 · JFK 18:45
    ♥ Do have faith in what you're doing.