redis.clients.jedis.Transaction.del()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(7.7k)|赞(0)|评价(0)|浏览(179)

本文整理了Java中redis.clients.jedis.Transaction.del()方法的一些代码示例,展示了Transaction.del()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Transaction.del()方法的具体详情如下:
包路径:redis.clients.jedis.Transaction
类名称:Transaction
方法名:del

Transaction.del介绍

暂无

代码示例

代码示例来源: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 Long del(byte[]... keys) {
  Assert.noNullElements(keys, "Keys must not be null!");
  Assert.noNullElements(keys, "Keys must not contain null elements!");
  try {
    if (isPipelined()) {
      pipeline(connection.newJedisResult(connection.getRequiredPipeline().del(keys)));
      return null;
    }
    if (isQueueing()) {
      transaction(connection.newJedisResult(connection.getRequiredTransaction().del(keys)));
      return null;
    }
    return connection.getJedis().del(keys);
  } catch (Exception ex) {
    throw connection.convertJedisAccessException(ex);
  }
}

代码示例来源:origin: AmadeusITGroup/HttpSessionReplacer

@Override
public void del(byte[]... keys) {
 t.del(keys);
}

代码示例来源:origin: mindwind/craft-atom

private void del0(String... keys) {
  t.del(keys);
}

代码示例来源:origin: org.apache.apex/malhar-contrib

@Override
public void remove(Object key)
{
 if (isInTransaction()) {
  transaction.del(key.toString());
 }
 else {
  jedis.del(key.toString());
 }
}

代码示例来源:origin: apache/apex-malhar

@Override
public void remove(Object key)
{
 if (isInTransaction()) {
  transaction.del(key.toString());
 } else {
  jedis.del(key.toString());
 }
}

代码示例来源: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: aerogear/aerogear-simplepush-server

private void removeChannel(final String channelId) {
  final Jedis jedis = jedisPool.getResource();
  try {
    final Channel channel = getChannel(channelId);
    final String endpointToken = channel.getEndpointToken();
    final Transaction tx = jedis.multi();
    tx.del(endpointToken);
    tx.del(chidLookupKey(channelId));
    tx.del(tokenLookupKey(endpointToken));
    tx.srem(uaidLookupKey(channel.getUAID()), channelId);
    tx.exec();
  } catch (final ChannelNotFoundException e) {
    logger.debug("ChannelId [" + channelId + "] was not found");
  } finally {
    jedisPool.returnResource(jedis);
  }
}

代码示例来源: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: pivotalsoftware/session-managers

@Test
public void clean() throws UnsupportedEncodingException {
  HashSet<String> sessions = new HashSet<String>(Arrays.asList("key"));
  String[] sessionsArray = sessions.toArray(new String[sessions.size()]);
  when(this.jedis.smembers(SESSIONS_KEY)).thenReturn(sessions);
  this.jedisNodeClient.clean( SESSIONS_KEY);
  verify(this.transaction, times(1)).srem(SESSIONS_KEY, sessionsArray);
  verify(this.transaction, times(1)).del(sessionsArray);
  verify(this.transaction, times(1)).exec();
  verify(this.jedis, times(1)).close();
}

代码示例来源:origin: pivotalsoftware/session-managers

@Test
public void del() {
  this.jedisNodeClient.del(SESSIONS_KEY, "key");
  verify(this.transaction, times(1)).srem(SESSIONS_KEY, "key");
  verify(this.transaction, times(1)).del("key");
  verify(this.transaction, times(1)).exec();
  verify(this.jedis, times(1)).close();
}

代码示例来源:origin: io.github.rcarlosdasilva/weixin

@Override
public boolean unlock(String key, String identifier) {
 Preconditions.checkNotNull(key);
 Preconditions.checkNotNull(identifier);
 String fullKey = RedisKey.fullKey(group, key) + LOCKER_NAME_SUFFIX;
 Jedis jedis = RedisHandler.getJedis();
 while (true) {
  // 监视lock,准备开始事务
  jedis.watch(fullKey);
  // 看看是不是自己的锁
  if (identifier.equals(jedis.get(fullKey))) {
   Transaction transaction = jedis.multi();
   transaction.del(fullKey);
   List<Object> results = transaction.exec();
   if (results == null) {
    continue;
   }
   jedis.close();
   return true;
  }
  jedis.unwatch();
  break;
 }
 jedis.close();
 return false;
}

代码示例来源: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: pivotalsoftware/session-managers

@Test(expected = JedisConnectionException.class)
public void returnResourceOnCleanFail() throws Exception {
  JedisConnectionException expected = new JedisConnectionException("test-message");
  when(this.transaction.del(new String[]{"key"})).thenThrow(expected);
  doThrow(new JedisConnectionException("test-message")).when(this.jedis).close();
  when(this.jedis.smembers(SESSIONS_KEY)).thenReturn(new HashSet<String>(Arrays.asList("key")));
  this.jedisNodeClient.clean(SESSIONS_KEY);
  verify(this.jedis, times(1)).close();
}

代码示例来源:origin: com.intoverflow.booster/booster-core

private void cleanExpiredKeys() {
  redisContext.run(jedis -> {
    long currentSeconds = System.currentTimeMillis() / 1000;
    long expiredTimeSeconds = currentSeconds - expireTime;// 过期元素的时点
    while (true) {
      ScanResult<Tuple> zscan = jedis.zscan(keysetBytes, ScanParams.SCAN_POINTER_START_BINARY);
      List<Tuple> result = zscan.getResult();
      for (Tuple tuple : result) {
        byte[] key = tuple.getBinaryElement();
        long score = (long) tuple.getScore();
        if (score < expiredTimeSeconds) {// 已过期
          Transaction multi = jedis.multi();
          multi.del(key);
          multi.zrem(keysetBytes, key);
          multi.exec();
        }
      }
      String stringCursor = zscan.getStringCursor();
      if (stringCursor.equals(ScanParams.SCAN_POINTER_START)) {
        break;
      }
    }
  });
}

代码示例来源: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);
    }
  }
}

代码示例来源:origin: com.intoverflow.booster/booster-core

byte[] key = tuple.getBinaryElement();
Transaction multi = jedis.multi();
multi.del(key);
multi.zrem(keysetBytes, key);
multi.exec();

代码示例来源:origin: org.springframework.data/spring-data-redis

@Override
public Long del(byte[]... keys) {
  Assert.noNullElements(keys, "Keys must not be null!");
  Assert.noNullElements(keys, "Keys must not contain null elements!");
  try {
    if (isPipelined()) {
      pipeline(connection.newJedisResult(connection.getRequiredPipeline().del(keys)));
      return null;
    }
    if (isQueueing()) {
      transaction(connection.newJedisResult(connection.getRequiredTransaction().del(keys)));
      return null;
    }
    return connection.getJedis().del(keys);
  } catch (Exception ex) {
    throw connection.convertJedisAccessException(ex);
  }
}

代码示例来源:origin: apache/servicemix-bundles

@Override
public Long del(byte[]... keys) {
  Assert.noNullElements(keys, "Keys must not be null!");
  Assert.noNullElements(keys, "Keys must not contain null elements!");
  try {
    if (isPipelined()) {
      pipeline(connection.newJedisResult(connection.getRequiredPipeline().del(keys)));
      return null;
    }
    if (isQueueing()) {
      transaction(connection.newJedisResult(connection.getRequiredTransaction().del(keys)));
      return null;
    }
    return connection.getJedis().del(keys);
  } catch (Exception ex) {
    throw connection.convertJedisAccessException(ex);
  }
}

相关文章

微信公众号

最新文章

更多

Transaction类方法