@Override public Long execute(Jedis connection) { return connection.msetnx(keysvalues); } }.runBinary(keys.length, keys);
@Override public Long execute(Jedis connection) { return connection.msetnx(keysvalues); } }.run(keys.length, keys);
@Override public Boolean mSetNX(Map<byte[], byte[]> tuples) { Assert.notNull(tuples, "Tuples must not be null!"); try { if (isPipelined()) { pipeline( connection.newJedisResult(connection.getRequiredPipeline().msetnx(JedisConverters.toByteArrays(tuples)), JedisConverters.longToBoolean())); return null; } if (isQueueing()) { transaction( connection.newJedisResult(connection.getRequiredTransaction().msetnx(JedisConverters.toByteArrays(tuples)), JedisConverters.longToBoolean())); return null; } return JedisConverters.toBoolean(connection.getJedis().msetnx(JedisConverters.toByteArrays(tuples))); } catch (Exception ex) { throw convertJedisAccessException(ex); } }
@Override public Long msetnx(String... keysvalues) { return jedis.msetnx(keysvalues); }
private Long msetnx0(Jedis j, String... keysvalues) { return j.msetnx(keysvalues); }
@Override public Long execute(Jedis connection) { return connection.msetnx(keysvalues); } }.runBinary(keys.length, keys);
@Override public Long execute(Jedis connection) { return connection.msetnx(keysvalues); } }.run(keys.length, keys);
@Override public Long msetnx(String... keysvalues) { return jedis.msetnx(keysvalues); }
public Long msetnx(String... keysvalues) { return master.msetnx(keysvalues); }
public Long msetnx(byte[]... keysvalues) { return master.msetnx(keysvalues); }
default Long msetnx(String... keysvalues) { if (keysvalues.length % 2 != 0) throw new IllegalArgumentException("wrong number of arguments for met, keysValues length can not be odd"); return this.run((jedis, serializer) -> { // byte[][] kvs = new byte[keysvalues.length][]; // for (int i = 0; i < keysvalues.length; i++) { // if (i % 2 == 0) // kvs[i] = SafeEncoder.encode(keysvalues[i]); // else // kvs[i] = SafeEncoder.encode(keysvalues[i]); // } return jedis.msetnx(keysvalues); }); }
@Override public Long msetnx(String... keysvalues) { Jedis jedis = null; Long res = 0L; try { jedis = pool.getResource(); res = jedis.msetnx(keysvalues); } catch (Exception e) { LOGGER.error(e.getMessage()); } finally { returnResource(pool, jedis); } return res; }
/** * <p>批量的设置key:value,可以一个,如果key已经存在则会失败,操作会回滚</p> * <p>example:</p> * <p> obj.msetnx(new String[]{"key2","value1","key2","value2"})</p> * * @param keysvalues * @return 成功返回1 失败返回0 */ public Long msetnx(String... keysvalues) { Jedis jedis = null; Long res = 0L; try { jedis = pool.getResource(); res = jedis.msetnx(keysvalues); } catch (Exception e) { LOGGER.error(e.getMessage()); } finally { returnResource(pool, jedis); } return res; }
@Override public Long msetnx(String... keysvalues) { String command = "msetnx"; return instrumented(command, payloadSize(keysvalues), () -> delegated.msetnx(keysvalues)); }
@Override public Long msetnx(byte[]... keysvalues) { String command = "msetnx"; return instrumented(command, payloadSize(keysvalues), () -> delegated.msetnx(keysvalues)); }
/** * Set the the respective keys to the respective values. {@link #mset(String...) MSET} will * replace old values with new values, while MSETNX will not perform any operation at all even if * just a single key already exists. * <p> * Because of this semantic MSETNX can be used in order to set different keys representing * different fields of an unique logic object in a way that ensures that either all the fields or * none at all are set. * <p> * Both MSET and MSETNX are atomic operations. This means that for instance if the keys A and B * are modified, another client talking to Redis can either see the changes to both A and B at * once, or no modification at all. * * @param keysvalues * @return Integer reply, specifically: 1 if the all the keys were set 0 if no key was set (at * least one key already existed) * @see #mset(String...) */ public Long msetnx(String... keysvalues) { Jedis jedis = getJedis(); try { return jedis.msetnx(keysvalues); } finally {Streams.safeClose(jedis);} }
@Override public java.lang.Long msetnx(java.lang.String... keysvalues) { Exception e1 = null; for (int i = 0; i < tryCount; i++) { Jedis jedis = null; try { jedis = pool.getResource(); return jedis.msetnx(keysvalues); } catch (Exception e) { if (isConnectException(e)) { Log.get(LOG_NAME).error(this.hosts + " - redis connection failed,idle=" + pool.getNumIdle() + ",active=" + pool.getNumActive(), e); e1 = e; continue; } Log.get(LOG_NAME).error("msetnx - redis execute error!" + e.getMessage(), e); SumkException.throwException(12342411, e.getMessage(), e); } finally { close(jedis); } } handleRedisException(e1); throw new SumkException(12342423, "未知redis异常"); }
@Override public java.lang.Long msetnx(byte[]... keysvalues) { Exception e1 = null; for (int i = 0; i < tryCount; i++) { Jedis jedis = null; try { jedis = pool.getResource(); return jedis.msetnx(keysvalues); } catch (Exception e) { if (isConnectException(e)) { Log.get(LOG_NAME).error(this.hosts + " - redis connection failed,idle=" + pool.getNumIdle() + ",active=" + pool.getNumActive(), e); e1 = e; continue; } Log.get(LOG_NAME).error("msetnx - redis execute error!" + e.getMessage(), e); SumkException.throwException(12342411, e.getMessage(), e); } finally { close(jedis); } } handleRedisException(e1); throw new SumkException(12342423, "未知redis异常"); }
@Override public Boolean mSetNX(Map<byte[], byte[]> tuples) { Assert.notNull(tuples, "Tuples must not be null!"); try { if (isPipelined()) { pipeline( connection.newJedisResult(connection.getRequiredPipeline().msetnx(JedisConverters.toByteArrays(tuples)), JedisConverters.longToBoolean())); return null; } if (isQueueing()) { transaction( connection.newJedisResult(connection.getRequiredTransaction().msetnx(JedisConverters.toByteArrays(tuples)), JedisConverters.longToBoolean())); return null; } return JedisConverters.toBoolean(connection.getJedis().msetnx(JedisConverters.toByteArrays(tuples))); } catch (Exception ex) { throw convertJedisAccessException(ex); } }
@Override public Boolean mSetNX(Map<byte[], byte[]> tuples) { Assert.notNull(tuples, "Tuples must not be null!"); try { if (isPipelined()) { pipeline( connection.newJedisResult(connection.getRequiredPipeline().msetnx(JedisConverters.toByteArrays(tuples)), JedisConverters.longToBoolean())); return null; } if (isQueueing()) { transaction( connection.newJedisResult(connection.getRequiredTransaction().msetnx(JedisConverters.toByteArrays(tuples)), JedisConverters.longToBoolean())); return null; } return JedisConverters.toBoolean(connection.getJedis().msetnx(JedisConverters.toByteArrays(tuples))); } catch (Exception ex) { throw convertJedisAccessException(ex); } }