Java 类redis.clients.jedis.BinaryJedis 实例源码

项目:wechat-mall    文件:BaseRedis.java   
/**
 * 获取jedis的连接
 * 
 * @return
 */
public BinaryJedis getCon() {
    try {
        if (null == jedis) {
            System.out.println("jedis 重新获取链接");
            this.jedis = jedisPool.getResource();
        }

    }
    catch (Exception e) {
        e.printStackTrace();
        try {
            Thread.sleep(10 * 1000);
        }
        catch (InterruptedException e1) {
            e1.printStackTrace();
        }
        if (null == jedis) {
            this.jedis = jedisPool.getResource();
        }
    }
    jedis.select(Default_DB);
    return jedis;
}
项目:JRediClients    文件:JedisTest.java   
@Test
/**
 * Binary Jedis tests should be in their own class
 */
public void testBinaryBitfield() {
  jedis.close();
  BinaryJedis binaryJedis = new BinaryJedis("localhost");
  binaryJedis.auth("foobared");
  binaryJedis.del("mykey".getBytes());
  try {
    List<Long> responses = binaryJedis.bitfield("mykey".getBytes(), "INCRBY".getBytes(),"i5".getBytes(),"100".getBytes(),"1".getBytes(), "GET".getBytes(), "u4".getBytes(), "0".getBytes());
    assertEquals((Long)1l, responses.get(0));
    assertEquals((Long)0l, responses.get(1));
  } finally {
    binaryJedis.del("mykey".getBytes());
    binaryJedis.close();
  }
}
项目:connection-pool-client    文件:RedisConnectionFactoryOld.java   
@Override
public boolean validateObject(PooledObject<Jedis> p) {

    BinaryJedis jedis = (BinaryJedis) p.getObject();
    try {
        HostAndPort hostAndPort = (HostAndPort) this.hostAndPort.get();

        String connectionHost = jedis.getClient().getHost();
        int connectionPort = jedis.getClient().getPort();

        return ((hostAndPort.getHost().equals(connectionHost))
                && (hostAndPort.getPort() == connectionPort)
                && (jedis.isConnected()) && (jedis.ping().equals("PONG")));
    } catch (Exception e) {
    }
    return false;
}
项目:docker4dev-tennistour-app    文件:StarterServiceLive.java   
@PostConstruct
public void init() {
  logger.log(Level.INFO, "Initializing Cache.");

  jedis = new BinaryJedis("redis-cache");

  random = new Random();

  try {
    jedis.sadd(jedisKey.getBytes(),
               serialize(new TennisMatch("12341234",
                                         "ROLLAND GARROS - QUARTER FINALS",
                                         "Ferrer D.",
                                         "es",
                                         "Almagro N.",
                                         "es")));
          jedis.sadd(jedisKey.getBytes(),
                     serialize(new TennisMatch("12351235", "US OPEN - QUARTER FINALS", "Djokovic N.", "rs", "Berdych T.", "cz")));
          jedis.sadd(jedisKey.getBytes(),
                     serialize(new TennisMatch("12361236", "US OPEN - QUARTER FINALS", "Murray A.", "gb", "Chardy J.", "fr")));
          jedis.sadd(jedisKey.getBytes(),
                     serialize(new TennisMatch("12371237", "US OPEN - QUARTER FINALS", "Federer R.", "ch", "Tsonga J.W.", "fr")));
      }catch (Exception ex){
          logger.severe("Error with Redis" + ex.getCause());
      }
  }
项目:argo    文件:RedisPool.java   
public RedisPool(final String host) {
    URI uri = URI.create(host);
    if (uri.getScheme() != null && uri.getScheme().equals("redis")) {
        String h = uri.getHost();
        int port = uri.getPort();
        String password = JedisURIHelper.getPassword(uri);
        int database = 0;
        Integer dbIndex = JedisURIHelper.getDBIndex(uri);
        if (dbIndex != null) {
            database = dbIndex.intValue();
        }
        this.internalPool = new GenericObjectPool<BinaryJedis>(
                new BinaryJedisFactory(h, port, Protocol.DEFAULT_TIMEOUT,
                        password, database, null),
                new GenericObjectPoolConfig());
    } else {
        this.internalPool = new GenericObjectPool<BinaryJedis>(new BinaryJedisFactory(
                host, Protocol.DEFAULT_PORT, Protocol.DEFAULT_TIMEOUT,
                null, Protocol.DEFAULT_DATABASE, null),
                new GenericObjectPoolConfig());
    }
}
项目:argo    文件:BinaryJedisFactory.java   
@Override
public PooledObject<BinaryJedis> makeObject() throws Exception {
    final HostAndPort hostAndPort = this.hostAndPort.get();
    final Jedis jedis = new Jedis(hostAndPort.getHost(), hostAndPort.getPort(), this.timeout);

    jedis.connect();
    if (null != this.password) {
        jedis.auth(this.password);
    }
    if (database != 0) {
        jedis.select(database);
    }
    if (clientName != null) {
        jedis.clientSetname(clientName);
    }

    return new DefaultPooledObject<BinaryJedis>(jedis);
}
项目:argo    文件:RedisBuket.java   
/**
 * Get Object List
 * @param clazz
 * @param keys
 * @param <T>
 * @return
 */
public <T> List<T> mget(final Class<T> clazz, final String... keys){
    return this.execute(new RedisCommand<List<T>>(){
        public List<T> execute(final BinaryJedis conn) throws Exception {
            List<byte[]> bytes = conn.mget(SafeEncoder.encodeMany(keys));
            List<T> ret = Lists.newArrayList();
            for (byte[] item : bytes){
                if (item != null) {
                    ret.add(messagePack.read(item, clazz));
                }else{
                    ret.add(null);
                }
            }
            return ret;
        }
    });
}
项目:argo    文件:RedisBuket.java   
/**
 * 返回HashMap的K-V值.
 * @param key
 * @return
 */
public Map<String, Integer> hall(final String key){
    return this.execute(new RedisCommand<Map<String, Integer>>(){
        public Map<String, Integer> execute(final BinaryJedis conn) throws Exception {
               Map<byte[], byte[]> bs = conn.hgetAll(SafeEncoder.encode(key));
               Map<String, Integer> vals = Maps.newHashMap();
               Iterator<byte[]> itor = bs.keySet().iterator();
               while (itor.hasNext()){
                   byte[] k = itor.next();
                   byte[] data = bs.get(k);
                   int v = data == null ? 0 : Integer.parseInt(SafeEncoder.encode(data));
                   vals.put(SafeEncoder.encode(k), v);
               }
            return vals;
        }
    });
}
项目:argo    文件:RedisBuket.java   
/**
   * 分页获取队列的元素.
   * @param key 缓存Key
   * @param page 页码
   * @param limit 每页记录数.
   * @return
   */
  public List<String> lrange(final String key, final int page, final int limit){
    return this.execute(new RedisCommand<List<String>>(){
    public List<String> execute(final BinaryJedis conn) throws Exception {
        long start = (page - 1) * limit;
        long end = start + limit;
        List<byte[]> ls = conn.lrange(SafeEncoder.encode(key), start, end);
              List<String> ret = Lists.newArrayList();
              for (byte[] b : ls){
                  if (b != null) {
                      ret.add(SafeEncoder.encode(b));
                  }
              }
              return ret;
    }
});
  }
项目:argo    文件:RedisBuket.java   
public <T> List<T> lrange(final Class<T> clazz, final String key, final int page, final int limit){
    return this.execute(new RedisCommand<List<T>>(){
        public List<T> execute(final BinaryJedis conn) throws Exception {
            long start = (page - 1) * limit;
            long end = start + limit;
            List<byte[]> ls = conn.lrange(SafeEncoder.encode(key), start, end);
            List<T> ret = Lists.newArrayList();
            for (byte[] b : ls){
                if (b != null) {
                    ret.add(messagePack.read(b, clazz));
                }
            }
            return ret;
        }
    });
}
项目:argo    文件:RedisBuket.java   
public List<String> lpop(final String key, final int limit){
    return this.execute(new RedisCommand<List<String>>(){
        public List<String> execute(final BinaryJedis conn) throws Exception {
            byte[] bk = SafeEncoder.encode(key);
            List<String> resp = Lists.newArrayList();
            for (int i = 0; i < limit; i++) {
                byte[] bs = conn.lpop(bk);
                if (bs != null){
                    resp.add(SafeEncoder.encode(bs));
                }

            }
            return resp;
        }
    });
}
项目:argo    文件:RedisBuket.java   
public <T> List<T> lpop(final Class<T> clazz, final String key, final int limit){
    return this.execute(new RedisCommand<List<T>>(){
        public List<T> execute(final BinaryJedis conn) throws Exception {
            byte[] bk = SafeEncoder.encode(key);
            List<T> resp = Lists.newArrayList();
            for (int i = 0; i < limit; i++) {
                byte[] bs = conn.lpop(bk);
                if (bs != null){
                    resp.add(messagePack.read(bs, clazz));
                }

            }
            return resp;
        }
    });
}
项目:argo    文件:RedisBuket.java   
public List<String> rpop(final String key, final int limit){
    return this.execute(new RedisCommand<List<String>>(){
        public List<String> execute(final BinaryJedis conn) throws Exception {
            byte[] bk = SafeEncoder.encode(key);
            List<String> resp = Lists.newArrayList();
            for (int i = 0; i < limit; i++) {
                byte[] bs = conn.rpop(bk);
                if (bs != null){
                    resp.add(SafeEncoder.encode(bs));
                }

            }
            return resp;
        }
    });
}
项目:argo    文件:RedisBuket.java   
public <T> List<T> rpop(final Class<T> clazz, final String key, final int limit){
    return this.execute(new RedisCommand<List<T>>(){
        public List<T> execute(final BinaryJedis conn) throws Exception {
            byte[] bk = SafeEncoder.encode(key);
            List<T> resp = Lists.newArrayList();
            for (int i = 0; i < limit; i++) {
                byte[] bs = conn.rpop(bk);
                if (bs != null){
                    resp.add(messagePack.read(bs, clazz));
                }

            }
            return resp;
        }
    });
}
项目:argo    文件:RedisBuket.java   
public Set<String> zrange(final String key, final int page, final int limit){
    return this.execute(new RedisCommand<Set<String>>(){
    public Set<String> execute(final BinaryJedis conn) throws Exception {
        long start = (page - 1) * limit;
        long end = start + limit;
        Set<byte[]> bs = conn.zrange(SafeEncoder.encode(key), start, end);
              Set<String> ret = Sets.newHashSet();
              for (byte[] b : bs){
                  if (b != null) {
                      ret.add(SafeEncoder.encode(b));
                  }
              }
              return ret;
    }
});
  }
项目:argo    文件:RedisBuket.java   
public Set<String> zrevrange(final String key, final int page, final int limit){
    return this.execute(new RedisCommand<Set<String>>(){
    public Set<String> execute(final BinaryJedis conn) throws Exception {
        long start = (page - 1) * limit;
        long end = start + limit;
        Set<byte[]> bs = conn.zrevrange(SafeEncoder.encode(key), start, end);
              Set<String> ret = Sets.newHashSet();
              for (byte[] b : bs){
                  if (b != null) {
                      ret.add(SafeEncoder.encode(b));
                  }
              }
              return ret;
    }
});
  }
项目:nighthawk    文件:JaRedisFactory.java   
@Override
public boolean validateObject(PooledObject<Jedis> pooledJedis) {
    final BinaryJedis jedis = pooledJedis.getObject();
    try {
        HostAndPort hostAndPort = this.hostAndPort.get();
        String connectionHost = jedis.getClient().getHost();
        int connectionPort = jedis.getClient().getPort();

        return hostAndPort.getHost().equals(connectionHost)
                && hostAndPort.getPort() == connectionPort && jedis.isConnected()
                && jedis.ping().equals("PONG");
    } catch (final Exception e) {
        return false;
    }
}
项目:nighthawk    文件:JaRedisFactory.java   
@Override
public void activateObject(PooledObject<Jedis> pooledJedis) throws Exception {
    final BinaryJedis jedis = pooledJedis.getObject();
    if (jedis.getDB() != database) {
        jedis.select(database);
    }
}
项目:JRediClients    文件:ScriptingCommandsTest.java   
@SuppressWarnings("unchecked")
@Test
public void evalMultiBulkWithBinaryJedis() {
  String script = "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2],ARGV[3]}";
  List<byte[]> keys = new ArrayList<byte[]>();
  keys.add("key1".getBytes());
  keys.add("key2".getBytes());

  List<byte[]> args = new ArrayList<byte[]>();
  args.add("first".getBytes());
  args.add("second".getBytes());
  args.add("third".getBytes());

  BinaryJedis binaryJedis = new BinaryJedis(hnp.getHost(), hnp.getPort(), 500);
  binaryJedis.connect();
  binaryJedis.auth("foobared");

  List<byte[]> responses = (List<byte[]>) binaryJedis.eval(script.getBytes(), keys, args);
  assertEquals(5, responses.size());
  assertEquals("key1", new String(responses.get(0)));
  assertEquals("key2", new String(responses.get(1)));
  assertEquals("first", new String(responses.get(2)));
  assertEquals("second", new String(responses.get(3)));
  assertEquals("third", new String(responses.get(4)));

  binaryJedis.close();
}
项目:JRediClients    文件:JedisTest.java   
@Test
public void checkCloseable() {
  jedis.close();
  BinaryJedis bj = new BinaryJedis("localhost");
  bj.connect();
  bj.close();
}
项目:azeroth    文件:RedisDistributeLockTest.java   
public static void initRedisProvider() {
    JedisPoolConfig poolConfig = new JedisPoolConfig();
    poolConfig.setMaxIdle(1);
    poolConfig.setMinEvictableIdleTimeMillis(60 * 1000);
    poolConfig.setMaxTotal(5);
    poolConfig.setMaxWaitMillis(30 * 1000);
    String[] servers = "127.0.0.1:6379".split(",");
    int timeout = 3000;
    String password = null;
    int database = 0;
    JedisProvider<Jedis, BinaryJedis> provider = new JedisStandaloneProvider("default", poolConfig, servers, timeout, password,
            database, null);
    JedisProviderFactory.setDefaultJedisProvider(provider);
}
项目:jeesuite-libs    文件:RedisDistributeLockTest.java   
public static void initRedisProvider() {
    JedisPoolConfig poolConfig = new JedisPoolConfig();
    poolConfig.setMaxIdle(1);
    poolConfig.setMinEvictableIdleTimeMillis(60 * 1000);
    poolConfig.setMaxTotal(5);
    poolConfig.setMaxWaitMillis(30 * 1000);
    String[] servers = "127.0.0.1:6379".split(",");
    int timeout = 3000;
    String password = null;
    int database = 0;
    JedisProvider<Jedis,BinaryJedis> provider = new JedisStandaloneProvider("default", poolConfig, servers, timeout, password, database,null);
    JedisProviderFactory.setDefaultJedisProvider(provider);
}
项目:cachecloud    文件:ScriptingCommandsTest.java   
@SuppressWarnings("unchecked")
@Test
public void evalMultiBulkWithBinaryJedis() {
  String script = "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2],ARGV[3]}";
  List<byte[]> keys = new ArrayList<byte[]>();
  keys.add("key1".getBytes());
  keys.add("key2".getBytes());

  List<byte[]> args = new ArrayList<byte[]>();
  args.add("first".getBytes());
  args.add("second".getBytes());
  args.add("third".getBytes());

  BinaryJedis binaryJedis = new BinaryJedis(hnp.getHost(), hnp.getPort(), 500);
  binaryJedis.connect();
  binaryJedis.auth("foobared");

  List<byte[]> responses = (List<byte[]>) binaryJedis.eval(script.getBytes(), keys, args);
  assertEquals(5, responses.size());
  assertEquals("key1", new String(responses.get(0)));
  assertEquals("key2", new String(responses.get(1)));
  assertEquals("first", new String(responses.get(2)));
  assertEquals("second", new String(responses.get(3)));
  assertEquals("third", new String(responses.get(4)));

  binaryJedis.close();
}
项目:cachecloud    文件:JedisTest.java   
@Test
public void checkCloseable() {
  jedis.close();
  BinaryJedis bj = new BinaryJedis("localhost");
  bj.connect();
  bj.close();
}
项目:g2    文件:JedisFactory.java   
@Override
public void activateObject(PooledObject<Jedis> pooledJedis) throws Exception {
    final BinaryJedis jedis = pooledJedis.getObject();
    if (jedis.getDB() != database) {
        jedis.select(database);
    }

}
项目:g2    文件:JedisFactory.java   
@Override
public boolean validateObject(PooledObject<Jedis> pooledJedis) {
    final BinaryJedis jedis = pooledJedis.getObject();
    try {
        return jedis.isConnected() && jedis.ping().equals("PONG");
    } catch (final Exception e) {
        return false;
    }
}
项目:jahhan    文件:JedisFactory.java   
@Override
public void activateObject(PooledObject<Jedis> pooledJedis) throws Exception {
    final BinaryJedis jedis = pooledJedis.getObject();
    if (jedis.getDB() != database) {
        jedis.select(database);
    }

}
项目:jahhan    文件:JedisFactory.java   
@Override
public boolean validateObject(PooledObject<Jedis> pooledJedis) {
    final BinaryJedis jedis = pooledJedis.getObject();
    try {
        HostAndPort hostAndPort = this.hostAndPort.get();

        String connectionHost = jedis.getClient().getHost();
        int connectionPort = jedis.getClient().getPort();

        return hostAndPort.getHost().equals(connectionHost) && hostAndPort.getPort() == connectionPort
                && jedis.isConnected() && jedis.ping().equals("PONG");
    } catch (final Exception e) {
        return false;
    }
}
项目:Jedis    文件:ScriptingCommandsTest.java   
@SuppressWarnings("unchecked")
@Test
public void evalMultiBulkWithBinaryJedis() {
  String script = "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2],ARGV[3]}";
  List<byte[]> keys = new ArrayList<byte[]>();
  keys.add("key1".getBytes());
  keys.add("key2".getBytes());

  List<byte[]> args = new ArrayList<byte[]>();
  args.add("first".getBytes());
  args.add("second".getBytes());
  args.add("third".getBytes());

  BinaryJedis binaryJedis = new BinaryJedis(hnp.getHost(), hnp.getPort(), 500);
  binaryJedis.connect();
  binaryJedis.auth("foobared");

  List<byte[]> responses = (List<byte[]>) binaryJedis.eval(script.getBytes(), keys, args);
  assertEquals(5, responses.size());
  assertEquals("key1", new String(responses.get(0)));
  assertEquals("key2", new String(responses.get(1)));
  assertEquals("first", new String(responses.get(2)));
  assertEquals("second", new String(responses.get(3)));
  assertEquals("third", new String(responses.get(4)));

  binaryJedis.close();
}
项目:Jedis    文件:JedisTest.java   
@Test
public void checkCloseable() {
  jedis.close();
  BinaryJedis bj = new BinaryJedis("localhost");
  bj.connect();
  bj.close();
}
项目:connection-pool-client    文件:RedisConnectionFactoryOld.java   
@Override
public void activateObject(PooledObject<Jedis> p) throws Exception {

    BinaryJedis jedis = (BinaryJedis) p.getObject();
    if (jedis.getDB().longValue() != this.database)
        jedis.select(this.database);
}
项目:jedis-helper    文件:JedisHelper.java   
@SuppressWarnings("unchecked")
public static <T extends JedisPool> Builder<Jedis, T> newBuilder(Supplier<T> poolFactory) {
    Builder<Jedis, T> builder = new Builder<>();
    builder.poolFactory = (Supplier) poolFactory;
    builder.jedisType = Jedis.class;
    builder.binaryJedisType = BinaryJedis.class;
    return builder;
}
项目:argo    文件:RedisTemplate.java   
public String info() {
    return this.execute(new RedisCommand<String>() {
        public String execute(BinaryJedis conn) throws Exception {
            return conn.info();
        }
    });
}
项目:argo    文件:RedisTemplate.java   
/**
 * 关闭数据库连接
 *
 * @param jedis
 */
private void returnConnection(BinaryJedis jedis) {
    if (stopping){
        return;
    }
    if (null != jedis) {
        try {
            getJedisPool().returnResource(jedis);
        } catch (Exception e) {
            getJedisPool().returnBrokenResource(jedis);
        }
    }
}
项目:argo    文件:RedisTemplate.java   
/**
 * 关闭错误连接
 *
 * @param jedis
 */
private void returnBrokenConnection(BinaryJedis jedis) {
    if (stopping){
        return;
    }
    if (null != jedis) {
        getJedisPool().returnBrokenResource(jedis);
    }
}
项目:argo    文件:BinaryJedisFactory.java   
@Override
public void activateObject(PooledObject<BinaryJedis> pooledJedis)
        throws Exception {
    final BinaryJedis jedis = pooledJedis.getObject();
    if (jedis.getDB() != database) {
        jedis.select(database);
    }

}
项目:argo    文件:BinaryJedisFactory.java   
@Override
public boolean validateObject(PooledObject<BinaryJedis> pooledJedis) {
    final BinaryJedis jedis = pooledJedis.getObject();
    try {
        HostAndPort hostAndPort = this.hostAndPort.get();

        String connectionHost = jedis.getClient().getHost();
        int connectionPort = jedis.getClient().getPort();

        return hostAndPort.getHost().equals(connectionHost) && hostAndPort.getPort() == connectionPort &&
                jedis.isConnected() && jedis.ping().equals("PONG");
    } catch (final Exception e) {
        return false;
    }
}
项目:argo    文件:RedisBuket.java   
/**
    * multi get
    * @param keys keys
    * @return List<String>
    */
   public List<String> mget(final String... keys){
    return this.execute(new RedisCommand<List<String>>(){
        public List<String> execute(final BinaryJedis conn) throws Exception {
               List<byte[]> bytes = conn.mget(SafeEncoder.encodeMany(keys));
               List<String> ret = Lists.newArrayList();
               for (byte[] item : bytes){
                   if (item != null) {
                       ret.add(SafeEncoder.encode(item));
                   }
               }
               return ret;
        }
    });
}
项目:argo    文件:RedisBuket.java   
/**
    * get single key
    * @param key key
    * @return String
    */
public String get(final String key){
    return this.execute(new RedisCommand<String>(){
        public String execute(final BinaryJedis conn) throws Exception {
            byte[] bytes = conn.get(SafeEncoder.encode(key));
               if (bytes == null){
                   return null;
               }
               return SafeEncoder.encode(bytes);
        }
    });
}
项目:argo    文件:RedisBuket.java   
/**
 * Get Object
 * @param clazz
 * @param key
 * @param <T>
 * @return
 */
public <T> T get(final Class<T> clazz, final String key){
    return this.execute(new RedisCommand<T>(){
        public T execute(final BinaryJedis conn) throws Exception {
            byte[] bytes = conn.get(SafeEncoder.encode(key));
            if (bytes == null){
                return null;
            }
            return messagePack.read(bytes, clazz);
        }
    });
}