Rumah > pangkalan data > Redis > teks badan

Tidak dapat menyambung ke Redis Bagaimana untuk menyelesaikan masalah Tidak dapat menyambung ke Redis

WBOY
Lepaskan: 2023-05-28 20:16:04
ke hadapan
6859 orang telah melayarinya

Senario projek:

Petua: Berikut ialah penerangan ringkas tentang latar belakang berkaitan projek:

Butang hantar dalam projek tertentu tidak mudah digunakan

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
Salin selepas log masuk

Tidak dapat menyambung ke Redis Bagaimana untuk menyelesaikan masalah Tidak dapat menyambung ke Redis

完整的项目报错信息:

org.springframework.data.redis.RedisConnectionFailureException: Tidak dapat menyambung ke Redis; Pengecualian bersarang ialah io.lettuce.core.RedisConnectionException: Tidak dapat menyambung ke 127.0.0.1/:6379
    di org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.$SharedFactoryConnectionFactory$SharedLettuceConnectionFactory. :1092)
    di org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getConnection(LettuceConnectionFactory.java:1065)
    at org.springdissframework.Connection. pertalian (LettuconnectionFactory.java:865)
di org.springframework.data.redis.connection.lettuce.lettuconnectionFactory.getConnection (LettuconnectionFactory.java:340) (RedisConnectionUtils.java:132)
    di org.springframework.data.redis.core.RedisConnectionUtils.getConnection(RedisConnectionUtils.java:95)
    di org.springframework.data.redisnectionUtils.RedisnectionU. .java:82)
    di org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:211)
    at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java :184)
    di org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:95)
    at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValue.Java )
    di com.wuyue.travel.service.HotelService.add(HotelService.java:60)
    at com.wuyue.travel.service.HotelService$$FastClassBySpringCGLIB$$577547fe.invoke&(&glt.
    di org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
    di org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invoke Join4.invoke Join di org.springframework.aop.framework.reflectivemethodinvocation.procte (reflectiveThodinvocation.java:163) Amework.Transaction. interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
    di org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
 .   pada org.springframework.aop.framework edInterceptor. intercept(CglibAopProxy.java:688)
    at com.wuyue.travel.service.HotelService$$EnhancerBySpringCGLIB$$af4f4c1f.add()
    at com.Hotelcontrollerer.wuyue.ad .add(HotelController.java:65)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    at java.inlectbase.Java.lang.reflect (Method.java:577)
    di org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189)
    di org.springframework.web.methodableHinvoke.web.methodable. hod .java:138)
    di org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
 .web . .RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
    di org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(AquestterMapping.🎜 at java : ringframework.web.servlet .mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
    di org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038>DispatcherServlet.java:1038>  .springframework.web.servlet ervlet .doService(DispatcherServlet.java:942)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
    at org.springframework.web.serveworkletFrameworkServlet. :908)
    di javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
    di org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java)
    di org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java)  🎜 atjava .servlet.http.HttpServlet.service(HttpServlet.java:741)
    di org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    di org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 . apache attom org. .websocket.server.WsFilter.doFilter(WsFilter.java:53)
    di org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.Catalina .doFilter(ApplicationFilterChain.java:166)
    di org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
    at org.intercept.webFilteraccess.security .invoke(FilterSecurityInterceptor.java:127)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
  .web. .doFilter(FilterChainProxy.java:334)
    di org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
    di org.springframework.security.web.Vir.FilterChalterChain.web.Vir.FilterChannel (FilterChainProxy.java:334)
    di org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
    at org.springframework.security.web.VlterChalterChainFilter(ProxyFilterChalter. .java:334)
    di org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
    at org.springframework.security.web.Vir.ProxyFilterChannel :334)
    di org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
    at org.springframework.FilterinProxyweb.Filter. java:334 )
    di org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
    di org.springframework.security.web.FilterChainProxy$VirtualFilterChain.Chain.Charles. 🎜>    di org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
    di org.springframework.security.web.FilterChainProxy$VirtualFilterChain(Java:3ChainFilter4 . .springframework.security.web.filterchainproxy $ virtualfilterchain.dofilter (filterchainproxy.java:334) G.SpringFramework .security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
    di org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilter Internal(🎜 WebAsync) org .springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    di org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java: . . .springframework.java:334>) .web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
    di org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
    di org.filterProxyDelegate. (DelegatingFilterProxy.java:357)
    di org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270)
    di org.apache.catalina.core.ApplicationjavaFilterChain.3ApplicationDolterChain. )
    di org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    di org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter)<.java :99 .springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    di org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    di org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    di org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92)
org .springframework .filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    di org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
   .calter.apache. (ApplicationFilterChain.java:166)
di org.springframework.web.filter.hiddenhtpmethodfilter.dofilterinternal (hiddenhttpmethodfilter.java:93) Estfilter.java:107 )
    di org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java)  :  :  : .springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
    di org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) apache atcacore. .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.apache. alve .java:199)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.invoke(AuthenticatorBase.invoke) 🎜>    di org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    di org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport2Valve)    java. .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
    di org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
 http 1.coyoteAdapter. .service(Http11Processor.java:408)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProcessorLight.Process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$Pronection.AbstractProtocol$Pronection. )
    di org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
    di org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49 )
    di java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    di java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1136)
    di java.base/java.util.concurrent.ThreadPoolExecutor.Executor$Worker.run(ThreadExecutor$Worker.run(ThreadPool. )
    di org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    di java.base/java.lang.Thread.run(Thread.java:833)
Disebabkan oleh: io.lettuce.core.RedisConnectionException: Tidak dapat menyambung ke 127.0.0.1/:6379
    di io.lettuce.core.RedisConnectionException.create(    at io.lettuce.core.AbstractRedisClient.getConnection(AbstractRedisClient.java:234)
    at io.lettuce.core.Re (RedisClient.java:204)
    di org.springframework.data.redis.connection.lettuce.StandaloneConnectionProvider.lambda$getConnection$1(StandaloneConnectionProvider.java:113)
    at java.base/java. orElseGet(Optional.java:364)
    at org.springframework.data.redis.connection.lettuce.StandaloneConnectionProvider.getConnection(StandaloneConnectionProvider.java:113)
    at org.rediscetionframework.data. LettuceConnectionFactory$SharedConnection.getNativeConnection(LettuceConnectionFactory.java:1085)
    ... 103 lagi
Disebabkan oleh: io.netty.channel.AbstractChannel$AnnotatedConnectException: Maklumat lanjut: /0.21: Sambungan ditolak: /0.21 🎜>    di java.base/sun.nio.ch.Net.pollConnect(Kaedah Asli)
    di java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)
    di java. base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:946)
    at 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

问题描述:

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

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

Tidak dapat menyambung ke Redis Bagaimana untuk menyelesaikan masalah Tidak dapat menyambung ke Redis

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

首先看页面:

<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>
Salin selepas log masuk

Controller层代码

	/**
	 * 增加
	 * @param hotel
	 */
	@ResponseBody
	@RequestMapping(method=RequestMethod.POST)
	public Result add(@RequestBody Hotel hotel){
		hotelService.add(hotel);
		return new Result(true,StatusCode.OK,"增加成功");
	}
Salin selepas log masuk

Dao层数据访问接口

public interface HotelDao extends JpaRepository<Hotel,String>,JpaSpecificationExecutor<Hotel>{

    List<Hotel> findByAddrLike(String addr);

}
Salin selepas log masuk

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);
	}
Salin selepas log masuk

其实这一路看过来没发现啥问题,基本上是谁也不会觉得代码有问题

原因分析:

提示:Unable to connect to Redis

这意思是说无法连接到Redis

当时是看完代码觉得没问题又去F12检查页面,当然我还是没看出啥问题????

Tidak dapat menyambung ke Redis Bagaimana untuk menyelesaikan masalah Tidak dapat menyambung ke Redis

解决方案:

提示:缺少Redis环境

Tidak dapat menyambung ke Redis Bagaimana untuk menyelesaikan masalah Tidak dapat menyambung ke Redis

最后运行成功!

Tidak dapat menyambung ke Redis Bagaimana untuk menyelesaikan masalah Tidak dapat menyambung ke Redis

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

Tidak dapat menyambung ke Redis Bagaimana untuk menyelesaikan masalah Tidak dapat menyambung ke Redis

Atas ialah kandungan terperinci Tidak dapat menyambung ke Redis Bagaimana untuk menyelesaikan masalah Tidak dapat menyambung ke Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan