@Test public void testEval() { RScript script = redisson.getScript(); List<Object> res = script.eval( RScript.Mode.READ_ONLY, "return {1,2,3.3333,'\"foo\"',nil,'bar'}", RScript.ReturnType.MULTI, Collections.emptyList()); MatcherAssert.assertThat(res, Matchers.<Object>contains(1L, 2L, 3L, "foo")); }
@Test public void testEvalAsync() { RScript script = redisson.getScript(); Future<List<Object>> res = script.evalAsync( RScript.Mode.READ_ONLY, "return {1,2,3.3333,'\"foo\"',nil,'bar'}", RScript.ReturnType.MULTI, Collections.emptyList()); MatcherAssert.assertThat( res.awaitUninterruptibly().getNow(), Matchers.<Object>contains(1L, 2L, 3L, "foo")); }
@Test public void testEvalSha() { RScript s = redisson.getScript(); String res = s.scriptLoad(null, "return redis.call('get', 'foo')"); Assert.assertEquals("282297a0228f48cd3fc6a55de6316f31422f5d17", res); redisson.getBucket("foo").set("bar"); String r1 = s.evalSha( Mode.READ_ONLY, "282297a0228f48cd3fc6a55de6316f31422f5d17", RScript.ReturnType.VALUE, Collections.emptyList()); Assert.assertEquals("bar", r1); }
@Test public void testScriptExists() { RScript s = redisson.getScript(); String r = s.scriptLoad(null, "return redis.call('get', 'foo')"); Assert.assertEquals("282297a0228f48cd3fc6a55de6316f31422f5d17", r); List<Boolean> r1 = s.scriptExists(null, r); Assert.assertEquals(1, r1.size()); Assert.assertTrue(r1.get(0)); s.scriptFlush(); List<Boolean> r2 = s.scriptExists(null, r); Assert.assertEquals(1, r2.size()); Assert.assertFalse(r2.get(0)); }
@Test public void testEvalshaAsync() { RScript s = redisson.getScript(); String res = s.scriptLoad(null, "return redis.call('get', 'foo')"); Assert.assertEquals("282297a0228f48cd3fc6a55de6316f31422f5d17", res); redisson.getBucket("foo").set("bar"); String r = redisson .getScript() .eval(Mode.READ_ONLY, "return redis.call('get', 'foo')", RScript.ReturnType.VALUE); Assert.assertEquals("bar", r); Future<Object> r1 = redisson .getScript() .evalShaAsync( Mode.READ_ONLY, "282297a0228f48cd3fc6a55de6316f31422f5d17", RScript.ReturnType.VALUE, Collections.emptyList()); Assert.assertEquals("bar", r1.awaitUninterruptibly().getNow()); }