redis 当进程间内存使用的时候,当某个redis客户端(应用服务器)进程突然挂掉,有什么办法使redis清除此进程的存储的数据?
发布于 9 年前 作者 dayuoba 5942 次浏览 最后一次编辑是 8 年前 来自 问答

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

11 回复

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

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

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

@alsotang redis客户端进程,也可以说应用服务器进程

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

关注,帮忙顶一下

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

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

@CocaCola183 共同学习,谢谢帮顶

没人顶吗???求解问题

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

回到顶部