当前位置: 首页>>代码示例>>Java>>正文


Java Jedis.lpop方法代码示例

本文整理汇总了Java中redis.clients.jedis.Jedis.lpop方法的典型用法代码示例。如果您正苦于以下问题:Java Jedis.lpop方法的具体用法?Java Jedis.lpop怎么用?Java Jedis.lpop使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在redis.clients.jedis.Jedis的用法示例。


在下文中一共展示了Jedis.lpop方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: doPoll

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
@Override
public Request doPoll(Task task) {
    Jedis jedis = jedisPool.getResource();
    try {
        String content = null;
        Set<String> contents = jedis.zrevrange(RedisKeys.getZsetPlusPriorityKey(task), 0, 0);
        if (contents != null && !contents.isEmpty()) {
            content = contents.toArray(new String[0])[0];
            jedis.zrem(RedisKeys.getZsetPlusPriorityKey(task), content);
        } else {
            content = jedis.lpop(RedisKeys.getQueueNoPriorityKey(task));
            if (StringUtils.isBlank(content)) {
                contents = jedis.zrevrange(RedisKeys.getZsetMinusPriorityKey(task), 0, 0);
                if (contents != null && !contents.isEmpty()) {
                    content = contents.toArray(new String[0])[0];
                    jedis.zrem(RedisKeys.getZsetPlusPriorityKey(task), content);
                }
            }
        }

        return StringUtils.isNotBlank(content) ? serializer.deserialize(content) : null;
    } finally {
        jedis.close();
    }
}
 
开发者ID:brucezee,项目名称:jspider,代码行数:26,代码来源:RedisPriorityScheduler.java

示例2: lpop

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
public String lpop(String key) {
	Jedis jedis = null;
	boolean success = true;
	String ret = null;
	try {
		jedis = jedisPool.getResource();
		if (jedis == null) {
			success = false;
			return ret;
		}
		ret = jedis.lpop(key);
	} catch (Exception e) {
		success = false;
		returnBrokenResource(jedis, "lpop key:" + key, e);
	} finally {
		releaseReidsSource(success, jedis);
	}
	return ret;
}
 
开发者ID:qq1588518,项目名称:JRediClients,代码行数:20,代码来源:RedisService.java

示例3: poll

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
@Override
public synchronized Request poll(String spiderName) {

    Jedis jedis = pool.getResource();
    try {
        String url = jedis.lpop(getQueueKey(spiderName));
        if (url == null) {
            return null;
        }

        String key = ITEM_PREFIX + url;
        String field = DigestUtils.shaHex(url);
        byte[] bytes = jedis.hget(key.getBytes(), field.getBytes());
        if (bytes != null) {
            Request o = JSON.parseObject(new String(bytes), Request.class);
            return o;
        }

        Request request = new Request(url);
        return request;
    } finally {
        pool.returnResource(jedis);
    }
}
 
开发者ID:fengzhizi715,项目名称:NetDiscovery,代码行数:25,代码来源:RedisQueue.java

示例4: jedistest

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
@GET
@Path("jedistest")
@Produces(MediaType.TEXT_HTML + ";charset=utf-8")
public String jedistest() {

    System.out.println("TEST Jedis ======================================================");
    Jedis jedis = new Jedis("localhost", 6379);
    jedis.set("foo", "bar");

    jedis.get("foo");

    jedis.lpush("lll", "a");
    jedis.lpush("lll", "b");
    jedis.lpush("lll", "c");
    jedis.lpop("lll");
    jedis.lpop("lll");
    jedis.lpop("lll");

    jedis.hset("mmm", "abc", "123");
    jedis.hset("mmm", "def", "456");
    jedis.hgetAll("mmm");

    jedis.close();
    return "jedistest";
}
 
开发者ID:uavorg,项目名称:uavstack,代码行数:26,代码来源:RedisService.java

示例5: foo

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
private static void foo() {

        System.out.println("TEST Jedis ======================================================");
        Jedis jedis = new Jedis(ip, port);
        jedis.set("foo", "bar");

        jedis.get("foo");

        jedis.lpush("lll", "a");
        jedis.lpush("lll", "b");
        jedis.lpush("lll", "c");
        jedis.lpop("lll");
        jedis.lpop("lll");
        jedis.lpop("lll");

        jedis.hset("mmm", "abc", "123");
        jedis.hset("mmm", "def", "456");
        jedis.hgetAll("mmm");

        jedis.close();
    }
 
开发者ID:uavorg,项目名称:uavstack,代码行数:22,代码来源:DoTestJedisHookProxy.java

示例6: poll

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
@Override
public ResourceItem poll(String queueID) {
    if (!lockQueue(queueID)) {
        return null;
    }
    Jedis jedis = jedisPool.getResource();
    try {
        String firstResourceKey = jedis.lpop(makePoolQueueKey(queueID));
        if (isNil(firstResourceKey)) {
            return null;
        }
        String dataJson = jedis.hget(makeDataKey(queueID), firstResourceKey);
        if (isNil(dataJson)) {
            throw new IllegalStateException("this is no meta data for key queue :" + queueID + " ,for resourceKey :" + firstResourceKey);
        }
        jedis.hdel(makeDataKey(queueID), firstResourceKey);
        return JSONObject.toJavaObject(JSON.parseObject(dataJson), ResourceItem.class);
    } finally {
        IOUtils.closeQuietly(jedis);
        unLockQueue(queueID);
    }
}
 
开发者ID:virjar,项目名称:vscrawler,代码行数:23,代码来源:JedisQueueStore.java

示例7: addFirst

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
@Override
public boolean addFirst(String queueID, ResourceItem e) {
    if (!lockQueue(queueID)) {
        return false;
    }
    @Cleanup Jedis jedis = jedisPool.getResource();
    try {
        remove(queueID, e.getKey());
        jedis.hset(makeDataKey(queueID), e.getKey(), JSONObject.toJSONString(e));
        String sliceID = jedis.lpop(makeSliceQueueKey(queueID));
        if (isNil(sliceID)) {
            sliceID = "1";
        }
        jedis.lpush(makeSliceQueueKey(queueID), sliceID);
        jedis.lpush(makePoolQueueKey(queueID, sliceID), e.getKey());
    } finally {
        unLockQueue(queueID);
    }
    return true;
}
 
开发者ID:virjar,项目名称:vscrawler,代码行数:21,代码来源:JedisSegmentQueueStore.java

示例8: poll

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
@Override
public synchronized Request poll(ISpider spider) {
    Jedis jedis = pool.getResource();
    try {
        String url = jedis.lpop(getQueueKey(spider));
        if (url == null) {
            return null;
        }
        String key = ITEM_PREFIX + spider.getName();
        String field = DigestUtils.md5Hex(url);
        byte[] bytes = jedis.hget(key.getBytes(), field.getBytes());
        Request request=SerializationUtils.deserialize(bytes);
        return request;
    } finally {
    	jedis.close();
    }
}
 
开发者ID:xbynet,项目名称:crawler,代码行数:18,代码来源:RedisScheduler.java

示例9: jedispolltest

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
@GET
@Path("jedispooltest")
@Produces(MediaType.TEXT_HTML + ";charset=utf-8")
public String jedispolltest() {

    System.out.println("TEST JedisPool ======================================================");
    JedisPoolConfig cfg = new JedisPoolConfig();
    cfg.setMaxTotal(5);
    cfg.setMaxIdle(1);
    cfg.setMaxWaitMillis(10000L);

    JedisPool jp = new JedisPool(cfg, "localhost", 6379);
    Jedis jedis = jp.getResource();

    jedis.set("foo", "bar");
    // jedis.close();
    jedis = jp.getResource();

    jedis.get("foo");
    // jedis.close();
    jedis = jp.getResource();

    jedis.lpush("lll", "a");
    jedis.lpush("lll", "b");
    jedis.lpush("lll", "c");
    jedis.lpop("lll");
    jedis.lpop("lll");
    jedis.lpop("lll");
    // jedis.close();
    jedis = jp.getResource();

    jedis.hset("mmm", "abc", "123");
    jedis.hset("mmm", "def", "456");
    jedis.hgetAll("mmm");

    jp.close();
    return "jedispooltest";
}
 
开发者ID:uavorg,项目名称:uavstack,代码行数:39,代码来源:RedisService.java

示例10: poll

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
/**
 * poll种子
 *
 * @return UrlSeed
 */
@Override
public UrlSeed poll() {
    Gson gson = new Gson();
    Jedis jedis = null;
    String urlSeedJson = null;
    try {
        jedis = jedisPool.getResource();
        //依次取三个队列,优先级高的被先取!
        urlSeedJson = jedis.lpop(Prefix_Queue_high);
        if (urlSeedJson != null) {
            return gson.fromJson(urlSeedJson, UrlSeed.class);
        }
        urlSeedJson = jedis.lpop(Prefix_Queue_default);
        if (urlSeedJson != null) {
            return gson.fromJson(urlSeedJson, UrlSeed.class);
        }
        urlSeedJson = jedis.lpop(Prefix_Queue_low);
        if (urlSeedJson != null) {
            return gson.fromJson(urlSeedJson, UrlSeed.class);
        }
    } catch (Exception e) {
        logger.warn("连接获取失败!", e);
    } finally {
        if (null != jedis) {
            jedis.close();
        }
    }
    return null;
}
 
开发者ID:xjtushilei,项目名称:ScriptSpider,代码行数:35,代码来源:RedisScheduler.java

示例11: lpop

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
@Override
synchronized public String lpop(String key) {
    Jedis jedis = null;
    String res = null;
    try {
        jedis = pool.getResource();
        res = jedis.lpop(key);
    } catch (Exception e) {

        LOGGER.error(e.getMessage());
    } finally {
        returnResource(pool, jedis);
    }
    return res;
}
 
开发者ID:wxiaoqi,项目名称:ace-cache,代码行数:16,代码来源:RedisServiceImpl.java

示例12: foo2

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
private static void foo2() {

        System.out.println("TEST JedisPool ======================================================");
        JedisPoolConfig cfg = new JedisPoolConfig();
        cfg.setMaxTotal(5);
        cfg.setMaxIdle(1);
        cfg.setMaxWaitMillis(10000L);

        JedisPool jp = new JedisPool(cfg, ip, port);
        Jedis jedis = jp.getResource();

        jedis.set("foo", "bar");
        // jedis.close();
        jedis = jp.getResource();

        jedis.get("foo");
        // jedis.close();
        jedis = jp.getResource();

        jedis.lpush("lll", "a");
        jedis.lpush("lll", "b");
        jedis.lpush("lll", "c");
        jedis.lpop("lll");
        jedis.lpop("lll");
        jedis.lpop("lll");
        // jedis.close();
        jedis = jp.getResource();

        jedis.hset("mmm", "abc", "123");
        jedis.hset("mmm", "def", "456");
        jedis.hgetAll("mmm");

        jp.close();
    }
 
开发者ID:uavorg,项目名称:uavstack,代码行数:35,代码来源:DoTestJedisHookProxy.java

示例13: testJedis

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
@POST
@Path("testJedis")
public void testJedis(String jsonString) {

    @SuppressWarnings("resource")
    Jedis jedis = new Jedis("localhost", 6379);
    jedis.set("foo", "bar");

    jedis.get("foo");

    jedis.lpush("lll", "a");
    jedis.lpush("lll", "b");
    jedis.lpush("lll", "c");
    jedis.lpop("lll");
    jedis.lpop("lll");
    jedis.lpop("lll");

    jedis.hset("mmm", "abc", "123");
    jedis.hset("mmm", "def", "456");
    jedis.hgetAll("mmm");

    jedis.close();

    JedisPoolConfig cfg = new JedisPoolConfig();
    cfg.setMaxTotal(5);
    cfg.setMaxIdle(1);
    cfg.setMaxWaitMillis(10000L);

    JedisPool jp = new JedisPool(cfg, "localhost", 6379);
    jedis = jp.getResource();

    jedis.set("foo", "bar");
    // jedis.close();
    jedis = jp.getResource();

    jedis.get("foo");
    // jedis.close();
    jedis = jp.getResource();

    jedis.lpush("lll", "a");
    jedis.lpush("lll", "b");
    jedis.lpush("lll", "c");
    jedis.lpop("lll");
    jedis.lpop("lll");
    jedis.lpop("lll");
    // jedis.close();
    jedis = jp.getResource();

    jedis.hset("mmm", "abc", "123");
    jedis.hset("mmm", "def", "456");
    jedis.hgetAll("mmm");

    jp.close();
}
 
开发者ID:uavorg,项目名称:uavstack,代码行数:55,代码来源:TestRestService.java

示例14: poll

import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
@Override
public ResourceItem poll(String queueID) {
    if (!lockQueue(queueID)) {
        return null;
    }
    @Cleanup Jedis jedis = jedisPool.getResource();
    try {
        String sliceQueueKey = makeSliceQueueKey(queueID);
        String firstResourceKey;
        String firstSliceID = null;
        while (true) {
            String sliceID = jedis.lpop(sliceQueueKey);
            if (isNil(sliceID)) {
                // empty queue
                return null;
            }
            if (firstSliceID == null) {
                firstSliceID = sliceID;
            } else if (firstSliceID.equals(sliceID)) {
                // 这个条件下,数据紊乱了?
                jedis.lpush(sliceQueueKey, firstSliceID);
                return null;
            }
            firstResourceKey = jedis.lpop(makePoolQueueKey(queueID, sliceID));
            if (!isNil(firstResourceKey)) {
                jedis.lpush(sliceQueueKey, sliceID);
                break;
            }
            jedis.rpush(sliceQueueKey, sliceID);
        }

        String dataJson = jedis.hget(makeDataKey(queueID), firstResourceKey);
        if (isNil(dataJson)) {
            throw new IllegalStateException(
                    "this is no meta data for key queue :" + queueID + " ,for resourceKey :" + firstResourceKey);
        }
        jedis.hdel(makeDataKey(queueID), firstResourceKey);
        return JSONObject.toJavaObject(JSON.parseObject(dataJson), ResourceItem.class);
    } finally {
        unLockQueue(queueID);
    }

}
 
开发者ID:virjar,项目名称:vscrawler,代码行数:44,代码来源:JedisSegmentQueueStore.java


注:本文中的redis.clients.jedis.Jedis.lpop方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。