跳到主要内容
CNode

redis 当进程间内存使用的时候,当某个redis客户端(应用服务器)进程突然挂掉,有什么办法使redis清除此进程的存储的数据?

问答
Ddayuoba发布于 11 年前最后回复 10 年前
1170810

如果数据没因进程挂掉而清除,将会造成读到脏数据

查看回复

回复 (11)

M
magicdawn#1110 年前

redis 本身为了防止你这种 case 的出现...哈哈哈 你直接放内存吧~如果允许的话... 要不然, 要不然启动时先 kill 了 / truncate 了

W
weierbufan#1010 年前

没人顶吗???求解问题

D
dayuoba#911 年前
引用 CocaCola183关注,帮忙顶一下

@CocaCola183 共同学习,谢谢帮顶

D
dayuoba#811 年前
引用 iwillwen每個進程維護一個Set,每次SET都都把Key加進去。由保姆進程觀察進程是否退出,退出就把相應的Set和Keys刪掉。 自豪地采用 CNodeJS ionic

@iwillwen 嗯,不过这样需要浪费额外的资源去做,如果没有原生的接口处理,应该这是比较靠谱的方案了 谢谢

I
iwillwen#711 年前

每個進程維護一個Set,每次SET都都把Key加進去。由保姆進程觀察進程是否退出,退出就把相應的Set和Keys刪掉。 自豪地采用 CNodeJS ionic

C
CocaCola183#611 年前

关注,帮忙顶一下

J
joney-pinkman#511 年前

这个应该和信号有关,通过对该进程的信号捕获后做相应的处理,按照楼主的需求,应该要在每次使用redis存储的时候,都要标识该数据属于哪个进程id,然后一旦捕获到终止信号,就把这些remove掉,不过这个用node来写貌似挺吃力的。。。

A
alsotang#311 年前

我觉得问题描述不清晰。。某个进程突然挂掉 指的不是 redis 挂掉是吗?

D
dayuoba#211 年前
引用 jiangzhuo那就把redis放到你自己的進程里就好啦 掛掉的同時redis一起掛掉

@jiangzhuo 单个redis多个redis客户端进程,如果redis挂了 其他redis客户端进程无法正常工作啊

J
jiangzhuo#111 年前

那就把redis放到你自己的進程里就好啦 掛掉的同時redis一起掛掉

参与回复

登录后即可参与回复。登录