Java 在AWS Elasticache(Redis)上执行保存命令的绝地武士

Java 在AWS Elasticache(Redis)上执行保存命令的绝地武士,java,amazon-web-services,redis,jedis,amazon-elasticache,Java,Amazon Web Services,Redis,Jedis,Amazon Elasticache,以下内容来自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

以下内容来自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本身就支持它。如有任何想法或解决办法,将不胜感激

PS1:Jedis v2.9.0和Elasticache实例具有引擎版本兼容性:3.2.4

PS2:我刚刚向AWS支持人员提出了同样的问题,很遗憾,我在这里没有任何反馈:(

你看了吗?有些Redis命令在AWS Elasticache中不可用
SAVE
命令就是其中之一。下面是这些命令的完整列表。尽管有这些限制,Redisson与AWS Elasticache有着坚实的集成

以下是将其与AWS Elasticache一起使用的代码示例:

// 1. Create config object
Config config = new Config();
config.useReplicatedServers()
    .addNodeAddress("redis://first-node.aws.com:7000", "redis://second-node.aws.com:7001");

// 2. Create Redisson instance
RedissonClient redisson = Redisson.create(config);

// 3. Get object you need
RMap<MyKey, MyValue> map = redisson.getMap("myMap");

RLock lock = redisson.getLock("myLock");

RExecutorService executor = redisson.getExecutorService("myExecutorService");

// over 30 different objects and services are available...
//1.创建配置对象
Config=new Config();
config.useReplicatedServers()
.addNodeAddress(“redis://first-node.aws.com:7000", "redis://second-node.aws.com:7001");
//2.创建Redisson实例
RedissonClient redisson=redisson.create(config);
//3.得到你需要的东西
RMap map=redisson.getMap(“myMap”);
RLock lock=redisson.getLock(“myLock”);
RExecutorService executor=redisson.getExecutorService(“myExecutorService”);
//超过30种不同的对象和服务可用。。。