找回密码
 立即注册
搜索
查看: 1732|回复: 6

[软件] 有熟悉redis数据库的吗

[复制链接]
     
发表于 2021-3-15 22:47 | 显示全部楼层 |阅读模式
请教个问题,如果数据一部分希望持久化,一部分不希望持久化,是不是只能建2个数据库解决?
看了下【save “”】好像是对整个数据库生效,不能对部分数据生效?
能否给予select 的数据库生效,比如select 0这个子数据库持久化,而select 1这个子数据库不持久化?
回复

使用道具 举报

     
发表于 2021-3-16 02:25 | 显示全部楼层
本帖最后由 roamer 于 2021-3-16 16:11 编辑

不太清楚场景,简单来说,你完全可以把整个对象存在redis里面,然后有update/delete操作的时候,evict redis内数据, 选择需要落盘的字段保存, 然后设置新的redis缓存
------------

看错了,save确实只能对整个redis实例生效,你只能搭两个redis实例。不过如果部分数据不想持久,设置ttl不行吗,这样只有非常频繁被读取的那部分数据会落盘。
回复

使用道具 举报

     
发表于 2021-3-16 12:13 | 显示全部楼层
不能 搭建两个redis 解决
回复

使用道具 举报

     
发表于 2021-3-16 17:09 来自手机 | 显示全部楼层
持久化为啥要选redis?

—— 来自 Xiaomi Mi 10, Android 11上的 S1Next-鹅版 v2.4.4.1
回复

使用道具 举报

     
发表于 2021-3-17 18:57 来自手机 | 显示全部楼层
redis持久化是针对宕机或者重启服务的。

—— 来自 deltainno DT2002C, Android 10上的 S1Next-鹅版 v2.4.4
回复

使用道具 举报

     
发表于 2021-3-17 19:40 来自手机 | 显示全部楼层
本帖最后由 Fury 于 2021-3-17 19:41 编辑

我们就把redis当cache或者是可丢失的队列用。需要持久化的重要的,上mongo或者dynamodb。曾经把redis用的16g内存都吃满了到处报500的路过
回复

使用道具 举报

     
发表于 2021-3-17 19:42 | 显示全部楼层
SAVE 会阻塞整个 Redis 完成持久化,期间不能读写。

BGSAVE 会 fork 一个子进程在后台进行持久化,持久化期间可以读写,但是持久化期间的更改不会保存。

如果要更精细化的持久化,可以考虑使用类似 pika 这种兼容 Redis 的接口,但是底层支持持久化的数据库。

兼容 Redis 接口的数据库还挺多的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-11-15 08:55 , Processed in 0.053799 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表