在AWS Elasticache(Redis)上使用SAVE命令的java绝地武士
以下内容来自AWS中的Tomcat服务器,其中我们有一个Redis Elasticache实例设置:
redis.clients.jedis.exceptions.JedisDataException: ERR unknown command 'SAVE'
at redis.clients.jedis.Protocol.processError(Protocol.java:127)
at redis.clients.jedis.Protocol.process(Protocol.java:161)
at redis.clients.jedis.Protocol.read(Protocol.java:215)
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340)
at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:239)
at redis.clients.jedis.BinaryJedis.save(BinaryJedis.java:2700)
at cl.waypoint.util.CacheReports.setCacheReports(CacheReports.java:51)
at cl.waypoint.reports3.ReportStatus.setProgress(ReportStatus.java:86)
at cl.waypoint.reports3.Report101.getData(Report101.java:210)
at cl.waypoint.reports3.Report101.createXLS(Report101.java:274)
at cl.waypoint.reports3.ReportStatus.run(ReportStatus.java:38)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
似乎Elasticache缺少对此类命令的支持,因为Redis本身就支持它。如有任何想法或解决办法,将不胜感激
绝地武士2。9.0和Elasticache实例具有引擎版本兼容性:3.2.4
PS2:我刚刚向AWS支持人员提出了同样的问题,很遗憾,我在这里没有得到任何反馈:(
# 1 楼答案
你看过Redisson吗?有些Redis命令在AWS Elasticache中不可用
SAVE
命令就是其中之一。以下是此类commands的完整列表。尽管存在这些限制,Redisson还是与AWS Elasticache进行了牢固的集成以下是将其与AWS Elasticache一起使用的代码示例: