Maison >base de données >Redis >Impossible de se connecter à Redis Comment résoudre le problème Impossible de se connecter à Redis
Conseils : Voici une brève description du contexte lié au projet :
Le bouton Soumettre dans un certain projet n'est pas facile à utiliser
org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to 127.0.0.1/<unresolved>:6379
org.springframework.data.redis.RedisConnectionFailureException : impossible de se connecter à Redis ; L'exception imbriquée est io.lettuce.core.RedisConnectionException : Impossible de se connecter à 127.0.0.1/
:6379
à org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getNativeConnection(LettuceConnectionFactory.java:1092 )
sur org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getConnection(LettuceConnectionFactory.java:1065)
sur org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.getSharedConnection(LettuceConnectionFactory.java :865 )
sur org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.getConnection(LettuceConnectionFactory.java:340)
sur org.springframework.data.redis.core.RedisConnectionUtils.doGetConnection(RedisConnectionUtils.java:132)
sur org .springframework.data.redis.core.RedisConnectionUtils.getConnection(RedisConnectionUtils.java:95)
sur org.springframework.data.redis.core.RedisConnectionUtils.getConnection(RedisConnectionUtils.java:82)
sur org.springframework.data.redis .core.RedisTemplate.execute(RedisTemplate.java:211)
sur org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:184)
sur org.springframework.data.redis.core.AbstractOperations.execute (AbstractOperations.java:95)
sur org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53)
sur com.wuyue.travel.service.HotelService.add(HotelService.java:60)
à com.wuyue.travel.service.HotelService$$FastClassBySpringCGLIB$$577547fe.invoke()
à org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
à org.springframework. aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
sur org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
sur org.springframework.transaction.interceptor.Transaction AspectSupport.invokeWithinTransaction( TransactionAspectSupport.java:294)
sur org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
sur org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
sur org. springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
sur com.wuyue.travel.service.HotelService$$EnhancerBySpringCGLIB$$af4f4c1f.add()
sur com.wuyue.travel .controller.admin.HotelController.add(HotelController.java:65)
sur java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
sur java.base/java.lang.reflect.Method .invoke(Method.java:577)
sur org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189)
sur org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java :138)
sur org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
sur org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMapping Adaptateur de gestionnaire .java:895)
sur org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800)
sur org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter .java:87)
sur org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)
sur org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
sur org.springframework .web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
sur org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)
sur javax.servlet.http.HttpServlet.service(HttpServlet.java :660)
sur org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
sur javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
sur org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
sur org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
sur org.apache.tomcat.websocket.server .WsFilter.doFilter(WsFilter.java:53)
sur org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
sur org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166 )
sur org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
sur org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
sur org .springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
sur org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
sur org.springframework.security .web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
sur org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
sur org.springframework.security.web.session.SessionManagementFilter .doFilter(SessionManagementFilter.java:137)
sur org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
sur org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthentication Filtre.java :111)
sur org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
sur org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:1 70)
à l'org .springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
sur org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
sur org.springframework.security.web .FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
sur org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
sur org.springframework.security.web.FilterChainProxy$VirtualFilterChain .doFilter(FilterChainProxy.java:334)
sur org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:74)
sur org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107 )
sur org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
sur org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
sur org.springframework .security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
sur org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
sur org.springframework.web .filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
sur org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
sur org.springframework.security.web.FilterChainProxy.doFilterInternal(Filter ChaîneProxy .java:215)
sur org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
sur org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357)
sur org.springframe travail .web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270)
sur org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
sur org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain .java:166)
sur org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
sur org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
sur org.apache .catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
sur org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
sur org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92)
sur org.springframework.web.filter.OncePerRequestFilter .doFilter(OncePerRequestFilter.java:107)
sur org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
sur org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
sur org.springframework.web.filter.hiddenhttpmethodfilter.dofilterinternal (HiddenhttpMethodFilter.java:93) à org.springframework.web.filter.onceperrequestfilter. .Core.ApplicationFilterChain .internalDoFilter(ApplicationFilterChain.java:193)
sur org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
sur org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
sur org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
sur org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
sur org.apache.catalina.core.ApplicationFilterChain .doFilter(ApplicationFilterChain.java:166)
sur org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
sur org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
sur org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
sur org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
sur org.apache.catalina.valves.ErrorReportValve .invoke(ErrorReportValve.java:92)
sur org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
sur org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
sur org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
sur org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
sur org.apache.coyote.AbstractProtocol$ConnectionHandler.process (AbstractProtocol.java:834)
sur org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
sur org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java :49)
sur java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
sur java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
sur org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
sur java.base/java.lang.Thread.run(Thread.java:833)
Causé par : io.lettuce .core.RedisConnectionException : Impossible de se connecter à 127.0.0.1/:6379
à io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:78)
à io.lettuce.core.RedisConnectionException.create(RedisConnectionException. .java:56)
sur io.lettuce.core.AbstractRedisClient.getConnection(AbstractRedisClient.java:234)
sur io.lettuce.core.RedisClient.connect(RedisClient.java:204)
sur org.springframework.data.redis .connection.lettuce.StandaloneConnectionProvider.lambda$getConnection$1(StandaloneConnectionProvider.java:113)
sur java.base/java.util.Optional.orElseGet(Optional.java:364)
sur org.springframework.data.redis.connection. lettuce.StandaloneConnectionProvider.getConnection(StandaloneConnectionProvider.java:113)
sur org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getNativeConnection(LettuceConnectionFactory.java:1085)
... 103 de plus
Causé par : io. netty.channel.AbstractChannel$AnnotatedConnectException : connexion refusée : aucune information supplémentaire : /127.0.0.1:6379
sur java.base/sun.nio.ch.Net.pollConnect (méthode native)
sur java.base/sun.nio. ch.Net.pollConnectNow(Net.java:672)
sur java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:946)
sur io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect( NioSocketChannel.java:327)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:340)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:636)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:583)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:500)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
... 1 more
Caused by: java.net.ConnectException: Connection refused: no further information
... 12 more
提示:这里描述项目中遇到的问题:
在某个项目中添加按钮一直显示执行出错
一开始想的是代码问题,于是翻看各层代码:
首先看页面:
<script> layui.use(['form', 'upload', 'laydate'] ,function(){ var form = layui.form ,$ = layui.jquery ,layer = layui.layer ,upload = layui.upload ,laydate = layui.laydate; //日期 laydate.render({ elem: '#date' }); //普通图片上传 var uploadInst = upload.render({ elem: '#test1' ,url: '/uploadFile' ,before: function(obj){ //预读本地文件示例,不支持ie8 obj.preview(function(index, file, result){ $('#demo1').attr('src', result); //图片链接(base64) }); } ,done: function(res){ //如果上传失败 if(res.code > 0){ return layer.msg('上传失败'); } //上传成功 return layer.msg('上传成功'); } ,error: function(){ //演示失败状态,并实现重传 var demoText = $('#demoText'); demoText.html('<span >上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>'); demoText.find('.demo-reload').on('click', function(){ uploadInst.upload(); }); } }); //监听提交 form.on('submit(setmyinfo)', function(obj){ $.ajax({ type: "POST", url: "/hotel", data: JSON.stringify(obj.field), dataType: "json", contentType: "application/json;charset=utf-8", success: function(result) { if(result.code == 0) { //登入成功的提示 layer.msg( result.message,{ icon: 1 }); } else { layer.msg(result.message, { icon: 5 }); } } }); }); }); </script>
Controller层代码
/** * 增加 * @param hotel */ @ResponseBody @RequestMapping(method=RequestMethod.POST) public Result add(@RequestBody Hotel hotel){ hotelService.add(hotel); return new Result(true,StatusCode.OK,"增加成功"); }
Dao层数据访问接口
public interface HotelDao extends JpaRepository<Hotel,String>,JpaSpecificationExecutor<Hotel>{ List<Hotel> findByAddrLike(String addr); }
Service层代码
/** * 增加 * @param hotel */ public void add(Hotel hotel) { hotel.setId( idWorker.nextId()+"" ); //取到缓存中的文件url String fileurl = (String) redisTemplate.opsForValue().get("fileurl"); hotel.setImg("https://travel031.oss-cn-qingdao.aliyuncs.com/"+fileurl); hotelDao.save(hotel); }
其实这一路看过来没发现啥问题,基本上是谁也不会觉得代码有问题
提示:Unable to connect to Redis
这意思是说无法连接到Redis
当时是看完代码觉得没问题又去F12检查页面,当然我还是没看出啥问题????
提示:缺少Redis环境
最后运行成功!
在管理员后台列表中也可以看到数据
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!