@Override public void discard() { isMulti = false; try { if (isPipelined()) { pipeline(newLettuceStatusResult(getAsyncDedicatedRedisCommands().discard())); return; } getDedicatedRedisCommands().discard(); } catch (Exception ex) { throw convertLettuceAccessException(ex); } finally { txResults.clear(); } }
@Override public void watch(byte[]... keys) { if (isQueueing()) { throw new UnsupportedOperationException(); } try { if (isPipelined()) { pipeline(newLettuceStatusResult(getAsyncDedicatedRedisCommands().watch(keys))); return; } if (isQueueing()) { transaction(new LettuceStatusResult(getAsyncDedicatedRedisCommands().watch(keys))); return; } getDedicatedRedisCommands().watch(keys); } catch (Exception ex) { throw convertLettuceAccessException(ex); } }
@Override public void unwatch() { try { if (isPipelined()) { pipeline(newLettuceStatusResult(getAsyncDedicatedRedisCommands().unwatch())); return; } if (isQueueing()) { transaction(newLettuceStatusResult(getAsyncDedicatedRedisCommands().unwatch())); return; } getDedicatedRedisCommands().unwatch(); } catch (Exception ex) { throw convertLettuceAccessException(ex); } }
@Override public void multi() { if (isQueueing()) { return; } isMulti = true; try { if (isPipelined()) { getAsyncDedicatedRedisCommands().multi(); return; } getDedicatedRedisCommands().multi(); } catch (Exception ex) { throw convertLettuceAccessException(ex); } }
@Override @SuppressWarnings({ "unchecked", "rawtypes" }) public List<Object> exec() { isMulti = false; try { if (isPipelined()) { RedisFuture<TransactionResult> exec = getAsyncDedicatedRedisCommands().exec(); LettuceTransactionResultConverter resultConverter = new LettuceTransactionResultConverter( new LinkedList<>(txResults), LettuceConverters.exceptionConverter()); pipeline(newLettuceResult(exec, source -> resultConverter .convert(LettuceConverters.transactionResultUnwrapper().convert((TransactionResult) source)))); return null; } TransactionResult transactionResult = (getDedicatedRedisCommands()).exec(); List<Object> results = LettuceConverters.transactionResultUnwrapper().convert(transactionResult); return convertPipelineAndTxResults ? new LettuceTransactionResultConverter(txResults, LettuceConverters.exceptionConverter()).convert(results) : results; } catch (Exception ex) { throw convertLettuceAccessException(ex); } finally { txResults.clear(); } }
@Override public void discard() { isMulti = false; try { if (isPipelined()) { pipeline(newLettuceStatusResult(getAsyncDedicatedRedisCommands().discard())); return; } getDedicatedRedisCommands().discard(); } catch (Exception ex) { throw convertLettuceAccessException(ex); } finally { txResults.clear(); } }
@Override public void discard() { isMulti = false; try { if (isPipelined()) { pipeline(newLettuceStatusResult(getAsyncDedicatedRedisCommands().discard())); return; } getDedicatedRedisCommands().discard(); } catch (Exception ex) { throw convertLettuceAccessException(ex); } finally { txResults.clear(); } }
@Override public void watch(byte[]... keys) { if (isQueueing()) { throw new UnsupportedOperationException(); } try { if (isPipelined()) { pipeline(newLettuceStatusResult(getAsyncDedicatedRedisCommands().watch(keys))); return; } if (isQueueing()) { transaction(new LettuceStatusResult(getAsyncDedicatedRedisCommands().watch(keys))); return; } getDedicatedRedisCommands().watch(keys); } catch (Exception ex) { throw convertLettuceAccessException(ex); } }
@Override public void watch(byte[]... keys) { if (isQueueing()) { throw new UnsupportedOperationException(); } try { if (isPipelined()) { pipeline(newLettuceStatusResult(getAsyncDedicatedRedisCommands().watch(keys))); return; } if (isQueueing()) { transaction(new LettuceStatusResult(getAsyncDedicatedRedisCommands().watch(keys))); return; } getDedicatedRedisCommands().watch(keys); } catch (Exception ex) { throw convertLettuceAccessException(ex); } }
@Override public void unwatch() { try { if (isPipelined()) { pipeline(newLettuceStatusResult(getAsyncDedicatedRedisCommands().unwatch())); return; } if (isQueueing()) { transaction(newLettuceStatusResult(getAsyncDedicatedRedisCommands().unwatch())); return; } getDedicatedRedisCommands().unwatch(); } catch (Exception ex) { throw convertLettuceAccessException(ex); } }
@Override public void multi() { if (isQueueing()) { return; } isMulti = true; try { if (isPipelined()) { getAsyncDedicatedRedisCommands().multi(); return; } getDedicatedRedisCommands().multi(); } catch (Exception ex) { throw convertLettuceAccessException(ex); } }
@Override public void unwatch() { try { if (isPipelined()) { pipeline(newLettuceStatusResult(getAsyncDedicatedRedisCommands().unwatch())); return; } if (isQueueing()) { transaction(newLettuceStatusResult(getAsyncDedicatedRedisCommands().unwatch())); return; } getDedicatedRedisCommands().unwatch(); } catch (Exception ex) { throw convertLettuceAccessException(ex); } }
@Override public void multi() { if (isQueueing()) { return; } isMulti = true; try { if (isPipelined()) { getAsyncDedicatedRedisCommands().multi(); return; } getDedicatedRedisCommands().multi(); } catch (Exception ex) { throw convertLettuceAccessException(ex); } }
@Override @SuppressWarnings({ "unchecked", "rawtypes" }) public List<Object> exec() { isMulti = false; try { if (isPipelined()) { RedisFuture<TransactionResult> exec = getAsyncDedicatedRedisCommands().exec(); LettuceTransactionResultConverter resultConverter = new LettuceTransactionResultConverter( new LinkedList<>(txResults), LettuceConverters.exceptionConverter()); pipeline(newLettuceResult(exec, source -> resultConverter .convert(LettuceConverters.transactionResultUnwrapper().convert((TransactionResult) source)))); return null; } TransactionResult transactionResult = (getDedicatedRedisCommands()).exec(); List<Object> results = LettuceConverters.transactionResultUnwrapper().convert(transactionResult); return convertPipelineAndTxResults ? new LettuceTransactionResultConverter(txResults, LettuceConverters.exceptionConverter()).convert(results) : results; } catch (Exception ex) { throw convertLettuceAccessException(ex); } finally { txResults.clear(); } }
@Override @SuppressWarnings({ "unchecked", "rawtypes" }) public List<Object> exec() { isMulti = false; try { if (isPipelined()) { RedisFuture<TransactionResult> exec = getAsyncDedicatedRedisCommands().exec(); LettuceTransactionResultConverter resultConverter = new LettuceTransactionResultConverter( new LinkedList<>(txResults), LettuceConverters.exceptionConverter()); pipeline(newLettuceResult(exec, source -> resultConverter .convert(LettuceConverters.transactionResultUnwrapper().convert((TransactionResult) source)))); return null; } TransactionResult transactionResult = (getDedicatedRedisCommands()).exec(); List<Object> results = LettuceConverters.transactionResultUnwrapper().convert(transactionResult); return convertPipelineAndTxResults ? new LettuceTransactionResultConverter(txResults, LettuceConverters.exceptionConverter()).convert(results) : results; } catch (Exception ex) { throw convertLettuceAccessException(ex); } finally { txResults.clear(); } }