项目中用到redis做缓存服务器,近日出现这个异常:
redis.clients.jedis.exceptions.JedisDataException: MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
redis.clients.jedis.Protocol.processError(Protocol.java:113)
redis.clients.jedis.Protocol.process(Protocol.java:138)
redis.clients.jedis.Protocol.read(Protocol.java:192)
redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:282)
redis.clients.jedis.Connection.getIntegerReply(Connection.java:207)
redis.clients.jedis.BinaryJedis.setnx(BinaryJedis.java:435)
com.radiadesign.catalina.session.RedisSessionManager.createSession(RedisSessionManager.java:274)
org.apache.catalina.connector.Request.doGetSession(Request.java:3014)
org.apache.catalina.connector.Request.getSession(Request.java:2378)
org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:897)
org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:909)
javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:238)
javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:238)
javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:238)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
网上搜索,很多人都给出了解决方法,但没有详细说明问题的来龙去脉,暂且记下,待有空了研究。
解决方法:通过redis-cli连接到服务器后执行以下命令:
config set stop-writes-on-bgsave-error no
如此即可。