Heim  >  Artikel  >  Datenbank  >  Es kann keine Verbindung zu Redis hergestellt werden. So lösen Sie das Problem, dass keine Verbindung zu Redis hergestellt werden kann

Es kann keine Verbindung zu Redis hergestellt werden. So lösen Sie das Problem, dass keine Verbindung zu Redis hergestellt werden kann

WBOY
WBOYnach vorne
2023-05-28 20:16:046855Durchsuche

Projektszenario:

Tipps: Hier eine kurze Beschreibung des projektbezogenen Hintergrunds:

Der Senden-Button in einem bestimmten Projekt ist nicht einfach zu verwenden

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

Es kann keine Verbindung zu Redis hergestellt werden. So lösen Sie das Problem, dass keine Verbindung zu Redis hergestellt werden kann

完整的项目报错信息:

org.springframework.data.redis.RedisConnectionFailureException: Verbindung zu Redis konnte nicht hergestellt werden; verschachtelte Ausnahme ist io.lettuce.core.RedisConnectionException: Es konnte keine Verbindung zu 127.0.0.1/:6379
    unter org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getNativeConnection(LettuceConnectionFactory.java:1092) hergestellt werden )
    bei org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getConnection(LettuceConnectionFactory.java:1065)
    bei org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.getSharedConnection(LettuceConnectionFactory.java:865 )
    bei org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.getConnection(LettuceConnectionFactory.java:340)
    bei org.springframework.data.redis.core.RedisConnectionUtils.doGetConnection(RedisConnectionUtils.java:132)
    bei org .springframework.data.redis.core.RedisConnectionUtils.getConnection(RedisConnectionUtils.java:95)
    bei org.springframework.data.redis.core.RedisConnectionUtils.getConnection(RedisConnectionUtils.java:82)
    bei org.springframework.data.redis .core.RedisTemplate.execute(RedisTemplate.java:211)
    bei org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:184)
    bei org.springframework.data.redis.core.AbstractOperations.execute (AbstractOperations.java:95)
    bei org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:53)
    bei com.wuyue.travel.service.HotelService.add(HotelService.java:60)
unter com.wuyue.travel.service.HotelService$$FastClassBySpringCGLIB$$577547fe.invoke()
    unter org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
    unter org.springframework. aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
    bei org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
    bei.org.springframework.transaction.interceptor.Trans actionAspectSupport.invokeWithinTransaction( TransactionAspectSupport.java:294)
    bei org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
    bei org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
    bei org. springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
    bei com.wuyue.travel.service.HotelService$$EnhancerBySpringCGLIB$$af4f4c1f.add()
    bei com.wuyue.travel .controller.admin.HotelController.add(HotelController.java:65)
    bei java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    bei java.base/java.lang.reflect.Method .invoke(Method.java:577)
    bei org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189)
    bei org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java :138)
    bei org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
    bei.org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod (RequestMappingHandlerAdapter .java:895)
    bei org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800)
    bei org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter .java:87)
    bei org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)
    bei org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
    bei org.springframework .web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
    bei org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)
    bei javax.servlet.http.HttpServlet.service(HttpServlet.java :660)
    bei org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
    bei javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    bei org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    bei org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    bei org.apache .tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    bei org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    bei org.apache.catalina .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    bei org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
    bei org.springframework.security.web .access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
    bei org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
    bei org.springframework .security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    bei org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
    bei org.springframework .security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    bei org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
    bei org.springframework .security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    bei org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
    bei org.springframework .security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
    at. org.springframework .security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    bei org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
    bei org.springframework .security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    bei org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
    bei org .springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    bei org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:74)
    bei org .springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    bei org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    bei org.springframework .security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
    bei org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    bei org.springframework .security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
    bei org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    bei org .springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    bei org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
    bei org.springframework .security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
    bei org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357)
    bei org.springframework.web.filter .DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270)
    bei org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    bei org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166)
    bei org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
    bei org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java :107)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    unter org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    unter org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92)
    unter org.springframework.web.filter.OncePerRequestFilter .doFilter(OncePerRequestFilter.java:107)
    bei org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    bei org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
unter org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)
    unter org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    unter org.apache.catalina.core.ApplicationFilterChain .internalDoFilter(ApplicationFilterChain.java:193)
    bei org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    bei org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
unter org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    unter org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    unter org.apache.catalina.core.ApplicationFilterChain .doFilter(ApplicationFilterChain.java:166)
    bei org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
    bei org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
unter org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
    unter org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    unter org.apache.catalina.valves.ErrorReportValve .invoke(ErrorReportValve.java:92)
    bei org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
    bei org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
unter org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
    unter org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    unter org.apache.coyote.AbstractProtocol$ConnectionHandler.process (AbstractProtocol.java:834)
    bei org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
    bei org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java :49)
    bei java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    bei java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
unter org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    unter java.base/java.lang.Thread.run(Thread.java:833)
Verursacht durch: io.lettuce .core.RedisConnectionException: Keine Verbindung zu 127.0.0.1/:6379
    bei io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:78)
    bei io.lettuce.core.RedisConnectionException.create(RedisConnectionException .java:56)
    bei io.lettuce.core.AbstractRedisClient.getConnection(AbstractRedisClient.java:234)
    bei io.lettuce.core.RedisClient.connect(RedisClient.java:204)
    bei org.springframework.data.redis .connection.lettuce.StandaloneConnectionProvider.lambda$getConnection$1(StandaloneConnectionProvider.java:113)
    unter java.base/java.util.Optional.orElseGet(Optional.java:364)
    unter org.springframework.data.redis.connection. lettuce.StandaloneConnectionProvider.getConnection(StandaloneConnectionProvider.java:113)
    at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getNativeConnection(LettuceConnectionFactory.java:1085)
    ... 103 weitere
Verursacht durch: io. netty.channel.AbstractChannel$AnnotatedConnectException: Verbindung abgelehnt: keine weiteren Informationen: /127.0.0.1:6379
    bei java.base/sun.nio.ch.Net.pollConnect(Native Method)
    bei java.base/sun.nio. ch.Net.pollConnectNow(Net.java:672)
    bei java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:946)
    bei 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

问题描述:

提示:这里描述项目中遇到的问题:

在某个项目中添加按钮一直显示执行出错

Es kann keine Verbindung zu Redis hergestellt werden. So lösen Sie das Problem, dass keine Verbindung zu Redis hergestellt werden kann

一开始想的是代码问题,于是翻看各层代码:

首先看页面:

<script>
    layui.use([&#39;form&#39;, &#39;upload&#39;, &#39;laydate&#39;] ,function(){

        var form = layui.form
            ,$ = layui.jquery
            ,layer = layui.layer
            ,upload = layui.upload
            ,laydate = layui.laydate;

        //日期
        laydate.render({
            elem: &#39;#date&#39;
        });

        //普通图片上传
        var uploadInst = upload.render({
            elem: &#39;#test1&#39;
            ,url: &#39;/uploadFile&#39;
            ,before: function(obj){
                //预读本地文件示例,不支持ie8
                obj.preview(function(index, file, result){
                    $(&#39;#demo1&#39;).attr(&#39;src&#39;, result); //图片链接(base64)
                });
            }
            ,done: function(res){
                //如果上传失败
                if(res.code > 0){
                    return layer.msg(&#39;上传失败&#39;);
                }
                //上传成功
                return layer.msg(&#39;上传成功&#39;);
            }
            ,error: function(){
                //演示失败状态,并实现重传
                var demoText = $(&#39;#demoText&#39;);
                demoText.html(&#39;<span >上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>&#39;);
                demoText.find(&#39;.demo-reload&#39;).on(&#39;click&#39;, function(){
                    uploadInst.upload();
                });
            }
        });

        //监听提交
        form.on(&#39;submit(setmyinfo)&#39;, 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检查页面,当然我还是没看出啥问题????

Es kann keine Verbindung zu Redis hergestellt werden. So lösen Sie das Problem, dass keine Verbindung zu Redis hergestellt werden kann

解决方案:

提示:缺少Redis环境

Es kann keine Verbindung zu Redis hergestellt werden. So lösen Sie das Problem, dass keine Verbindung zu Redis hergestellt werden kann

最后运行成功!

Es kann keine Verbindung zu Redis hergestellt werden. So lösen Sie das Problem, dass keine Verbindung zu Redis hergestellt werden kann

在管理员后台列表中也可以看到数据

Es kann keine Verbindung zu Redis hergestellt werden. So lösen Sie das Problem, dass keine Verbindung zu Redis hergestellt werden kann

Das obige ist der detaillierte Inhalt vonEs kann keine Verbindung zu Redis hergestellt werden. So lösen Sie das Problem, dass keine Verbindung zu Redis hergestellt werden kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen