具体错误: 出现错误的代码片段 主要原因是因为 方法我猜测内部也是set了一个键,然后 了同一个键,所以类型错误,所以改成下面这个就对了disson.client.RedisException: WRONGTYPE Operation against a key holding the wrong kind of value. channel: [id: 0x7970fc12, L:/192.168.1.3:52166 - R:139.224.75.1/139.224.75.1:6379] command: (GET), promise: RedissonPromise [promise=ImmediateEventExecutor$ImmediatePromise@72cc702b(incomplete)], params: [[67, 97, 99, 104, 101, 79, 102, 49, 48, 48, ...]]disson.client.handler.CommandDecoder.decode(CommandDecoder.java:370) ~[redisson-3.16.6.jar:3.16.6]disson.client.handler.CommandDecoder.decodeCommand(CommandDecoder.java:198) ~[redisson-3.16.6.jar:3.16.6]disson.client.handler.CommandDecoder.decode(CommandDecoder.java:137) ~[redisson-3.16.6.jar:3.16.6]disson.client.handler.CommandDecoder.decode(CommandDecoder.java:113) ~[redisson-3.16.6.jar:3.16.6]at dec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:510) ~[netty-codec-4.1.77.Final.jar:4.1.77.Final]at dec.ReplayingDecoder.callDecode(ReplayingDecoder.java:366) ~[netty-codec-4.1.77.Final.jar:4.1.77.Final]at dec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:279) ~[netty-codec-4.1.77.Final.jar:4.1.77.Final]at ioty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-transport-4.1.77.Final.jar:4.1.77.Final]at ioty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-transport-4.1.77.Final.jar:4.1.77.Final]at ioty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[netty-transport-4.1.77.Final.jar:4.1.77.Final]at ioty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[netty-transport-4.1.77.Final.jar:4.1.77.Final]at ioty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[netty-transport-4.1.77.Final.jar:4.1.77.Final]at ioty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[netty-transport-4.1.77.Final.jar:4.1.77.Final]at ioty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[netty-transport-4.1.77.Final.jar:4.1.77.Final]at ioty.channel.nio.ad(AbstractNioByteChannel.java:166) ~[netty-transport-4.1.77.Final.jar:4.1.77.Final]at ioty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:722) ~[netty-transport-4.1.77.Final.jar:4.1.77.Final]at ioty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:658) ~[netty-transport-4.1.77.Final.jar:4.1.77.Final]at ioty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:584) ~[netty-transport-4.1.77.Final.jar:4.1.77.Final]at ioty.channel.nio.NioEventLoop.run(NioEventLoop.java:496) ~[netty-transport-4.1.77.Final.jar:4.1.77.Final]at urrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995) ~[netty-common-4.1.77.Final.jar:4.1.77.Final]at ioty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.77.Final.jar:4.1.77.Final]at urrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.77.Final.jar:4.1.77.Final]at java.lang.Thread.run(Thread.java:748) [na:1.8.0_312]
public List<Account> selectRanking(Integer startPosition) {//redis存储一个HashMap,每周刷新一次String accountListStr(CacheOfData+startPosition);List<Account> cacheOfData = JSON.parseObject(accountListStr, List.class);if (!Objects.isNull(cacheOfData)) {return cacheOfData;}//正常到这一行就结束了//说明没有这个缓存,那就去更新//使用双检索,RLock lock = Lock(CacheOfData+startPosition);List<Account> accountList = null;try {Lock(10, TimeUnit.SECONDS);cacheOfData = JSON.(CacheOfData+startPosition), List.class);if (!Objects.isNull(cacheOfData)) {return cacheOfData;}//说明真的没有这个缓存,那就去写入这个缓存accountList = selectLearnTimeTop(startPosition);redisUtil.set(CacheOfData+startPosition, JSONString(accountList));} catch (InterruptedException e) {e.printStackTrace();} finally {lock.unlock();}return accountList;}
RLock lock = Lock(CacheOfData+startPosition+"Lock");
本文发布于:2024-02-08 19:59:06,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170739373468601.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |