redis集羣 啓動 error

[ERR] Node 10.0.0.11:6383 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

自己虛機搭建了一個redis集羣,每次重啓了VMware之後,需要重啓redis集羣,並爭對每個端口重啓進程之後,再設置爲集羣,但是失敗了,這個報錯是因爲有aof,rdb文件沒有刪除,具體是初始化集羣的時候需要這些配置文件來打通每個節點之間的通信 。

解決方法:找到保存了aof和rdb文件的地方,刪除,並kill -9 線程pid,然後重啓每一個redis服務。

拓展:aof和rdb是兩種redis中的持久化機制,作爲nosql的一種,與分佈式緩存的區別一點就在於nosql可以做到持久化

摘了一段別人的 Ehcache和redis的區別

ehcache直接在jvm虛擬機中緩存,速度快,效率高;但是緩存共享麻煩,集羣分佈式應用不方便。
redis是通過socket訪問到緩存服務,效率比ecache低,比數據庫要快很多,處理集羣和分佈式緩存方便,有成熟的方案。

如果是單個應用或者對緩存訪問要求很高的應用,用ehcache。
如果是大型系統,存在緩存共享、分佈式部署、緩存內容很大的,建議用redis。

補充下:ehcache也有緩存共享方案,不過是通過RMI或者Jgroup多播方式進行廣播緩存通知更新,緩存共享複雜,維護不方便;簡單的共享可以,但是涉及到緩存恢復,大數據緩存,則不合適。

 

總結就是單機用ehcache,分佈式用redis,考慮到持久化,redis要考慮磁盤的rmp問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章