本文整理了Java中redis.clients.jedis.Transaction.exec()
方法的一些代码示例,展示了Transaction.exec()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Transaction.exec()
方法的具体详情如下:
包路径:redis.clients.jedis.Transaction
类名称:Transaction
方法名:exec
暂无
代码示例来源:origin: qiurunze123/miaosha
/**
* watch 监控多个key 一防止其他地方调用释放锁的时候对这个key进行修改 那么事务里面的代码就不会被执行 !
*/
public boolean releaseLock(String key , String value){
try {
Jedis jedis = RedisManager.getJedis();
while (true){
jedis.watch(key);
if(value.equals(jedis.get(key))){
Transaction transaction = jedis.multi();
transaction.del(key);
List<Object> list = transaction.exec();
if(list ==null){
continue;
}
jedis.unwatch();
}
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
}
代码示例来源:origin: spring-projects/spring-data-redis
@Override
public List<Object> exec() {
try {
if (isPipelined()) {
pipeline(newJedisResult(getRequiredPipeline().exec(),
new TransactionResultConverter<>(new LinkedList<>(txResults), JedisConverters.exceptionConverter())));
return null;
}
if (transaction == null) {
throw new InvalidDataAccessApiUsageException("No ongoing transaction. Did you forget to call multi?");
}
List<Object> results = transaction.exec();
return !CollectionUtils.isEmpty(results)
? new TransactionResultConverter<>(txResults, JedisConverters.exceptionConverter()).convert(results)
: results;
} catch (Exception ex) {
throw convertJedisAccessException(ex);
} finally {
txResults.clear();
transaction = null;
}
}
代码示例来源:origin: Impetus/Kundera
@Override
public void onCommit()
{
for (Transaction resource : resources)
{
resource.exec();
}
isTransactionInProgress = false;
}
代码示例来源:origin: Impetus/Kundera
synchronized void onExecute(Transaction tx)
{
tx.exec();
resources.remove(tx);
}
}
代码示例来源:origin: Exrick/x-boot
List<Object> results = transaction.exec();
long counter = (Long) results.get(results.size() - 1);
transaction.zadd(BUCKET + point, counter, token);
transaction.zrank(BUCKET + point, token);
results = transaction.exec();
transaction.exec();
代码示例来源:origin: org.apache.apex/malhar-contrib
@Override
public void commitTransaction()
{
transaction.exec();
transaction = null;
}
代码示例来源:origin: apache/apex-malhar
@Override
public void commitTransaction()
{
transaction.exec();
transaction = null;
}
代码示例来源:origin: io.leopard/leopard-redis
@Override
public Object execute(Jedis jedis) {
Transaction transaction = jedis.multi();
for (int i = 0; i < keyList.size(); i++) {
transaction.set(keyList.get(i), valueList.get(i));
}
transaction.exec();
return true;
}
});
代码示例来源:origin: io.leopard/leopard-redis
@Override
public Object execute(Jedis jedis) {
Transaction transaction = jedis.multi();
for (int i = 0; i < keyList.size(); i++) {
transaction.append(keyList.get(i), valueList.get(i));
transaction.expire(keyList.get(i), seconds);
}
transaction.exec();
return true;
}
});
代码示例来源:origin: com.github.sogyf/goja-mvt
public static List<Object> tx(JedisAtom jedisAtom) {
Jedis jedis = pool.getResource();
Transaction trans = jedis.multi();
jedisAtom.action(trans);
return trans.exec();
}
代码示例来源:origin: org.leapframework/jmms-modules-redis
/**
* Executes in a transaction.
*/
public final <T> Result<T> execTrans(Function<Jedis, T> func) {
return exec((redis) -> {
Transaction t = redis.multi();
T r = func.apply(redis);
t.exec();
return r;
});
}
代码示例来源:origin: com.sangupta/dryrun
@Override
public void multiSet(Map<? extends K, ? extends V> map) {
Transaction transaction = this.mockJedis.multi();
for(Entry<? extends K, ? extends V> entry : map.entrySet()) {
K key = entry.getKey();
V value = entry.getValue();
byte[] keyBytes = this.template.keySerializer.serialize(key);
byte[] valueBytes = this.template.valueSerializer.serialize(value);
transaction.set(keyBytes, valueBytes);
}
transaction.exec();
}
代码示例来源:origin: pivotalsoftware/session-managers
@Override
public void clean(String sessionsKey) {
try(Jedis jedis = this.jedisPool.getResource()) {
Set<String> sessions = jedis.smembers(sessionsKey);
String[] sessionsArray = sessions.toArray(new String[sessions.size()]);
Transaction t = jedis.multi();
t.srem(sessionsKey, sessionsArray);
t.del(sessionsArray);
t.exec();
}
}
代码示例来源:origin: pivotalsoftware/session-managers
@Override
public void del(String sessionsKey, String key) {
try(Jedis jedis = this.jedisPool.getResource()) {
Transaction t = jedis.multi();
t.srem(sessionsKey, key);
t.del(key);
t.exec();
}
}
代码示例来源:origin: io.leopard/leopard-redis
@Override
public Object execute(Jedis jedis) {
Transaction transaction = jedis.multi();
transaction.append(key, value);
transaction.expire(key, seconds);
transaction.exec();
return true;
}
});
代码示例来源:origin: com.github.biezhi/unique-support-redis
@Override
Object execute() {
Transaction transaction = jedis.getShard(key).multi();
transaction.del(key);
for (String value : values) {
transaction.rpush(key, value);
}
transaction.exec();
return null;
}
}.getResult();
代码示例来源:origin: AmadeusITGroup/HttpSessionReplacer
@Override
public <T> RedisFacade.ResponseFacade<T> transaction(final byte[] key, final TransactionRunner<T> transaction) {
final Transaction t = jedis().multi();
RedisFacade.ResponseFacade<T> response = transaction.run(wrapJedisTransaction(t));
t.exec();
return response;
}
代码示例来源:origin: pivotalsoftware/session-managers
@Test
public void set() throws UnsupportedEncodingException {
byte[] session = "session".getBytes();
this.jedisNodeClient.set("key", SESSIONS_KEY, session, timeout);
verify(this.transaction, times(1)).setex("key".getBytes(Protocol.CHARSET), timeout, session);
verify(this.transaction, times(1)).sadd(SESSIONS_KEY,"key");
verify(this.transaction, times(1)).exec();
verify(this.jedis, times(1)).close();
}
代码示例来源:origin: com.intoverflow.booster/booster-core
@Override
public void evict(Object key) {
redisContext.run(jedis -> {
byte[] keyBytes = toKeyBytes(key);
Transaction multi = jedis.multi();
multi.del(keyBytes);
multi.zrem(keysetBytes, keyBytes);
multi.exec();
});
}
代码示例来源:origin: KleeGroup/vertigo
@Override
public void unregister(final Node node) {
try (final Jedis jedis = redisConnector.getResource()) {
try (final Transaction tx = jedis.multi()) {
tx.del(VERTIGO_NODE + node.getId());
tx.srem(VERTIGO_NODES, node.getId());
tx.exec();
} catch (final IOException e) {
throw WrappedException.wrap(e);
}
}
}
内容来源于网络,如有侵权,请联系作者删除!