io.lettuce.core.RedisCommandExecutionException: ERR unknown command 'GEOADD'
Posted xiufengchen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了io.lettuce.core.RedisCommandExecutionException: ERR unknown command 'GEOADD'相关的知识,希望对你有一定的参考价值。
io.lettuce.core.RedisCommandExecutionException: ERR unknown command ‘GEOADD‘ at io.lettuce.core.ExceptionFactory.createExecutionException(ExceptionFactory.java:135) ~[lettuce-core-5.1.8.RELEASE.jar:na] at io.lettuce.core.ExceptionFactory.createExecutionException(ExceptionFactory.java:108) ~[lettuce-core-5.1.8.RELEASE.jar:na] at io.lettuce.core.protocol.AsyncCommand.completeResult(AsyncCommand.java:120) ~[lettuce-core-5.1.8.RELEASE.jar:na] at io.lettuce.core.protocol.AsyncCommand.complete(AsyncCommand.java:111) ~[lettuce-core-5.1.8.RELEASE.jar:na] at io.lettuce.core.protocol.CommandHandler.complete(CommandHandler.java:646) ~[lettuce-core-5.1.8.RELEASE.jar:na] at io.lettuce.core.protocol.CommandHandler.decode(CommandHandler.java:604) ~[lettuce-core-5.1.8.RELEASE.jar:na] at io.lettuce.core.protocol.CommandHandler.channelRead(CommandHandler.java:556) ~[lettuce-core-5.1.8.RELEASE.jar:na] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) ~[netty-all-4.1.40.Final.jar:4.1.40.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) ~[netty-all-4.1.40.Final.jar:4.1.40.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) ~[netty-all-4.1.40.Final.jar:4.1.40.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1422) ~[netty-all-4.1.40.Final.jar:4.1.40.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) ~[netty-all-4.1.40.Final.jar:4.1.40.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) ~[netty-all-4.1.40.Final.jar:4.1.40.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:931) ~[netty-all-4.1.40.Final.jar:4.1.40.Final] at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) ~[netty-all-4.1.40.Final.jar:4.1.40.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:700) ~[netty-all-4.1.40.Final.jar:4.1.40.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:635) ~[netty-all-4.1.40.Final.jar:4.1.40.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:552) ~[netty-all-4.1.40.Final.jar:4.1.40.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:514) ~[netty-all-4.1.40.Final.jar:4.1.40.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1044) ~[netty-all-4.1.40.Final.jar:4.1.40.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-all-4.1.40.Final.jar:4.1.40.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-all-4.1.40.Final.jar:4.1.40.Final] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_191]
再看接口代码:
@RequestMapping(value = "/s/{id}", method = RequestMethod.GET) @ResponseBody public void detail22(@PathVariable Long id) { /* Cursor scan = redisTemplate.opsForHash().scan("1", ScanOptions.NONE); Set<String> keys = redisTemplate.keys("1111"); for(String key:keys){ System.out.println(key); }*/ redisTemplate.boundGeoOps("1111").add(new Point(111.11,111.23),"cxy"); String s = redisTemplate.boundGeoOps("1111").toString(); System.out.println(s); }
这段代码是在操作redis的geo数据类型,再看我的redis版本:3.0.504 这个是比较久的版本,不支持geo数据类型,所以报错,geo的数据类型是在redis3.2版本以后才支持的数据类型,所以需要切换一个redis的版本
以上是关于io.lettuce.core.RedisCommandExecutionException: ERR unknown command 'GEOADD'的主要内容,如果未能解决你的问题,请参考以下文章