Java Code Examples for redis.clients.jedis.Jedis#pipelined()
The following examples show how to use
redis.clients.jedis.Jedis#pipelined() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: JedisPoolStream.java From RedisDirectory with Apache License 2.0 | 6 votes |
/** * Use transactions to delete index file * * @param fileLengthKey * @param fileDataKey * @param field * @param blockSize */ @Override public void deleteFile(String fileLengthKey, String fileDataKey, String field, long blockSize) { Jedis jedis = null; try { jedis = jedisPool.getResource(); Pipeline pipelined = jedis.pipelined(); //delete file length pipelined.hdel(fileLengthKey.getBytes(), field.getBytes()); //delete file content for (int i = 0; i < blockSize; i++) { byte[] blockName = getBlockName(field, i); pipelined.hdel(fileDataKey.getBytes(), blockName); } pipelined.sync(); } finally { jedis.close(); } }
Example 2
Source File: JedisApiTest.java From easyooo-framework with Apache License 2.0 | 6 votes |
/** * Pipelining * 测试时间:0.287 seconds */ @Test @Ignore public void testPipelining(){ Jedis jedis = new Jedis("localhost"); Pipeline pipeline = jedis.pipelined(); long start = System.currentTimeMillis(); for(int i = 0; i< COUNTER; i++){ pipeline.set("p" + i, "p" + i); if(i == 100){ System.out.println(jedis.get("p1")); } } List<Object> results = pipeline.syncAndReturnAll(); long end = System.currentTimeMillis(); logger.info("Pipelined SET: " + ((end - start)/1000.0) + " seconds"); jedis.close(); System.out.println("result: " + results.get(0)); System.out.println(jedis.get("p1")); }
Example 3
Source File: RedisStorage.java From quartz-redis-jobstore with Apache License 2.0 | 6 votes |
/** * Remove (delete) the <code>{@link org.quartz.Calendar}</code> with the given name. * @param calendarName the name of the calendar to be removed * @param jedis a thread-safe Redis connection * @return true if a calendar with the given name was found and removed */ @Override public boolean removeCalendar(String calendarName, Jedis jedis) throws JobPersistenceException { final String calendarTriggersSetKey = redisSchema.calendarTriggersSetKey(calendarName); if(jedis.scard(calendarTriggersSetKey) > 0){ throw new JobPersistenceException(String.format("There are triggers pointing to calendar %s, so it cannot be removed.", calendarName)); } final String calendarHashKey = redisSchema.calendarHashKey(calendarName); Pipeline pipe = jedis.pipelined(); Response<Long> deleteResponse = pipe.del(calendarHashKey); pipe.srem(redisSchema.calendarsSet(), calendarHashKey); pipe.sync(); return deleteResponse.get() == 1; }
Example 4
Source File: JedisPipelineDemo.java From Redis-4.x-Cookbook with MIT License | 6 votes |
public static void main(String[] args) { //Connecting to localhost Redis server Jedis jedis = new Jedis("localhost"); //Create a Pipeline Pipeline pipeline = jedis.pipelined(); //Add commands to pipeline pipeline.set("mykey", "myvalue"); pipeline.sadd("myset", "value1", "value2"); Response<String> stringValue = pipeline.get("mykey"); Response<Long> noElementsInSet = pipeline.scard("myset"); //Send commands pipeline.sync(); //Handle responses System.out.printf("mykey: %s\n", stringValue.get()); System.out.printf("Number of Elements in set: %d\n", noElementsInSet.get()); System.exit(0); }
Example 5
Source File: RedisStorage.java From quartz-redis-jobstore with Apache License 2.0 | 6 votes |
/** * Store a job in Redis * @param jobDetail the {@link org.quartz.JobDetail} object to be stored * @param replaceExisting if true, any existing job with the same group and name as the given job will be overwritten * @param jedis a thread-safe Redis connection * @throws org.quartz.ObjectAlreadyExistsException */ @Override @SuppressWarnings("unchecked") public void storeJob(JobDetail jobDetail, boolean replaceExisting, Jedis jedis) throws ObjectAlreadyExistsException { final String jobHashKey = redisSchema.jobHashKey(jobDetail.getKey()); final String jobDataMapHashKey = redisSchema.jobDataMapHashKey(jobDetail.getKey()); final String jobGroupSetKey = redisSchema.jobGroupSetKey(jobDetail.getKey()); if(!replaceExisting && jedis.exists(jobHashKey)){ throw new ObjectAlreadyExistsException(jobDetail); } Pipeline pipe = jedis.pipelined(); pipe.hmset(jobHashKey, (Map<String, String>) mapper.convertValue(jobDetail, new TypeReference<HashMap<String, String>>() {})); pipe.del(jobDataMapHashKey); if(jobDetail.getJobDataMap() != null && !jobDetail.getJobDataMap().isEmpty()){ pipe.hmset(jobDataMapHashKey, getStringDataMap(jobDetail.getJobDataMap())); } pipe.sadd(redisSchema.jobsSet(), jobHashKey); pipe.sadd(redisSchema.jobGroupsSet(), jobGroupSetKey); pipe.sadd(jobGroupSetKey, jobHashKey); pipe.sync(); }
Example 6
Source File: JedisStream.java From RedisDirectory with Apache License 2.0 | 6 votes |
@Override public void saveFile(String fileLengthKey, String fileDataKey, String fileName, List<byte[]> values, long fileLength) { Jedis jedis = openJedis(); Pipeline pipelined = jedis.pipelined(); pipelined.hset(fileLengthKey.getBytes(), fileName.getBytes(), Longs.toByteArray(fileLength)); Long blockSize = getBlockSize(fileLength); for (int i = 0; i < blockSize; i++) { pipelined.hset(fileDataKey.getBytes(), getBlockName(fileName, i), compressFilter(values.get(i))); if (i % Constants.SYNC_COUNT == 0) { pipelined.sync(); pipelined = jedis.pipelined(); } } pipelined.sync(); jedis.close(); values.clear(); }
Example 7
Source File: JedisStream.java From RedisDirectory with Apache License 2.0 | 6 votes |
@Override public void saveFile(String fileLengthKey, String fileDataKey, String fileName, List<byte[]> values, long fileLength) { Jedis jedis = openJedis(); Pipeline pipelined = jedis.pipelined(); pipelined.hset(fileLengthKey.getBytes(), fileName.getBytes(), Longs.toByteArray(fileLength)); Long blockSize = getBlockSize(fileLength); for (int i = 0; i < blockSize; i++) { pipelined.hset(fileDataKey.getBytes(), getBlockName(fileName, i), compressFilter(values.get(i))); if (i % Constants.SYNC_COUNT == 0) { pipelined.sync(); pipelined = jedis.pipelined(); } } pipelined.sync(); jedis.close(); values.clear(); }
Example 8
Source File: RedisExample.java From java-platform with Apache License 2.0 | 6 votes |
public void testCombPipelineTrans() {// 0.099秒 Jedis jedis = new Jedis("120.25.241.144", 6379); jedis.auth("b840fc02d52404542994"); long start = System.currentTimeMillis(); Pipeline pipeline = jedis.pipelined(); pipeline.multi(); for (int i = 0; i < 1000; i++) { pipeline.set("n" + i, "n" + i); System.out.println(i); } pipeline.exec(); pipeline.syncAndReturnAll(); long end = System.currentTimeMillis(); System.out.println("共花费:" + (end - start) / 1000.0 + "秒"); jedis.disconnect(); try { Closeables.close(jedis, true); } catch (IOException e) { e.printStackTrace(); } }
Example 9
Source File: JedisPoolStream.java From RedisDirectory with Apache License 2.0 | 6 votes |
/** * Use transactions to delete index file * * @param fileLengthKey * @param fileDataKey * @param field * @param blockSize */ @Override public void deleteFile(String fileLengthKey, String fileDataKey, String field, long blockSize) { Jedis jedis = null; try { jedis = jedisPool.getResource(); Pipeline pipelined = jedis.pipelined(); //delete file length pipelined.hdel(fileLengthKey.getBytes(), field.getBytes()); //delete file content for (int i = 0; i < blockSize; i++) { byte[] blockName = getBlockName(field, i); pipelined.hdel(fileDataKey.getBytes(), blockName); } pipelined.sync(); } finally { jedis.close(); } }
Example 10
Source File: JedisPoolStream.java From RedisDirectory with Apache License 2.0 | 6 votes |
@Override public void rename(String fileLengthKey, String fileDataKey, String oldField, String newField, List<byte[]> values, long fileLength) { long blockSize = 0; Jedis jedis = null; try { jedis = jedisPool.getResource(); Pipeline pipelined = jedis.pipelined(); //add new file length pipelined.hset(fileLengthKey.getBytes(), newField.getBytes(), Longs.toByteArray(fileLength)); //add new file content blockSize = getBlockSize(fileLength); for (int i = 0; i < blockSize; i++) { pipelined.hset(fileDataKey.getBytes(), getBlockName(newField, i), compressFilter(values.get(i))); } values.clear(); pipelined.sync(); } finally { jedis.close(); deleteFile(fileLengthKey, fileDataKey, oldField, blockSize); } }
Example 11
Source File: RedisExample.java From java-platform with Apache License 2.0 | 6 votes |
public void testPipelined() {// 0.076秒 Jedis jedis = new Jedis("120.25.241.144", 6379); jedis.auth("b840fc02d52404542994"); long start = System.currentTimeMillis(); Pipeline pipeline = jedis.pipelined(); for (int i = 0; i < 1000; i++) { pipeline.set("n" + i, "n" + i); System.out.println(i); } pipeline.syncAndReturnAll(); long end = System.currentTimeMillis(); System.out.println("共花费:" + (end - start) / 1000.0 + "秒"); jedis.disconnect(); try { Closeables.close(jedis, true); } catch (IOException e) { e.printStackTrace(); } }
Example 12
Source File: RedisStorage.java From quartz-redis-jobstore with Apache License 2.0 | 5 votes |
/** * Pause the trigger with the given key * @param triggerKey the key of the trigger to be paused * @param jedis a thread-safe Redis connection * @throws JobPersistenceException if the desired trigger does not exist */ @Override public void pauseTrigger(TriggerKey triggerKey, Jedis jedis) throws JobPersistenceException { final String triggerHashKey = redisSchema.triggerHashKey(triggerKey); Pipeline pipe = jedis.pipelined(); Response<Boolean> exists = pipe.exists(triggerHashKey); Response<Double> completedScore = pipe.zscore(redisSchema.triggerStateKey(RedisTriggerState.COMPLETED), triggerHashKey); Response<String> nextFireTimeResponse = pipe.hget(triggerHashKey, TRIGGER_NEXT_FIRE_TIME); Response<Double> blockedScore = pipe.zscore(redisSchema.triggerStateKey(RedisTriggerState.BLOCKED), triggerHashKey); pipe.sync(); if(!exists.get()){ return; } if(completedScore.get() != null){ // doesn't make sense to pause a completed trigger return; } final long nextFireTime = nextFireTimeResponse.get() == null || nextFireTimeResponse.get().isEmpty() ? -1 : Long.parseLong(nextFireTimeResponse.get()); if(blockedScore.get() != null){ setTriggerState(RedisTriggerState.PAUSED_BLOCKED, (double) nextFireTime, triggerHashKey, jedis); } else{ setTriggerState(RedisTriggerState.PAUSED, (double) nextFireTime, triggerHashKey, jedis); } }
Example 13
Source File: JedisStream.java From RedisDirectory with Apache License 2.0 | 5 votes |
@Override public List<byte[]> loadFileOnce(String fileDataKey, String fileName, long blockSize) { Jedis jedis = openJedis(); Pipeline pipelined = jedis.pipelined(); List<byte[]> res = new ArrayList<>(); List<Response<byte[]>> temps = new ArrayList<>(); int temp = 0; while (temp < blockSize) { Response<byte[]> data = pipelined.hget(fileDataKey.getBytes(), getBlockName(fileName, temp)); temps.add(data); if (temp % Constants.SYNC_COUNT == 0) { pipelined.sync(); res.addAll(temps.stream().map(response -> uncompressFilter(response.get())).collect(Collectors.toList())); temps.clear(); pipelined = jedis.pipelined(); } temp++; } try { pipelined.sync(); } catch (JedisConnectionException e) { log.error("pipelined = {}, blockSize = {}!", pipelined.toString(), blockSize); log.error("", e); } finally { jedis.close(); } res.addAll(temps.stream().map(response -> uncompressFilter(response.get())).collect(Collectors.toList())); temps.clear(); return res; }
Example 14
Source File: JedisStream.java From RedisDirectory with Apache License 2.0 | 5 votes |
@Override public void deleteFile(String fileLengthKey, String fileDataKey, String field, long blockSize) { Jedis jedis = openJedis(); Pipeline pipelined = jedis.pipelined(); //delete file length pipelined.hdel(fileLengthKey.getBytes(), field.getBytes()); //delete file content for (int i = 0; i < blockSize; i++) { byte[] blockName = getBlockName(field, i); pipelined.hdel(fileDataKey.getBytes(), blockName); } pipelined.sync(); jedis.close(); }
Example 15
Source File: PipeliningTest.java From cachecloud with Apache License 2.0 | 5 votes |
@Test public void testCloseableWithMulti() throws IOException { // we need to test with fresh instance of Jedis Jedis jedis2 = new Jedis(hnp.getHost(), hnp.getPort(), 500); jedis2.auth("foobared"); Pipeline pipeline = jedis2.pipelined(); Response<String> retFuture1 = pipeline.set("a", "1"); Response<String> retFuture2 = pipeline.set("b", "2"); pipeline.multi(); pipeline.set("a", "a"); pipeline.set("b", "b"); pipeline.close(); try { pipeline.exec(); fail("close should discard transaction"); } catch (JedisDataException e) { assertTrue(e.getMessage().contains("EXEC without MULTI")); // pass } // it shouldn't meet any exception retFuture1.get(); retFuture2.get(); }
Example 16
Source File: SomeOperate.java From Redis_Learning with Apache License 2.0 | 5 votes |
public static void testPipeLineAndNormal(Jedis jedis) throws InterruptedException { Logger logger = Logger.getLogger("javasoft"); long start = System.currentTimeMillis(); for (int i = 0; i < 10000; i++) { jedis.set(String.valueOf(i), String.valueOf(i)); } long end = System.currentTimeMillis(); logger.info("the jedis total time is:" + (end - start)); Pipeline pipe = jedis.pipelined();// �ȴ���һ��pipeline�����Ӷ��� long start_pipe = System.currentTimeMillis(); for (int i = 0; i < 10000; i++) { pipe.set(String.valueOf(i), String.valueOf(i)); } pipe.sync();// ��ȡ���е�response long end_pipe = System.currentTimeMillis(); logger.info("the pipe total time is:" + (end_pipe - start_pipe)); BlockingQueue<String> logQueue = new LinkedBlockingQueue<String>(); long begin = System.currentTimeMillis(); for (int i = 0; i < 10000; i++) { logQueue.put("i=" + i); } long stop = System.currentTimeMillis(); logger.info("the BlockingQueue total time is:" + (stop - begin)); }
Example 17
Source File: JedisStream.java From RedisDirectory with Apache License 2.0 | 5 votes |
@Override public List<byte[]> loadFileOnce(String fileDataKey, String fileName, long blockSize) { Jedis jedis = openJedis(); Pipeline pipelined = jedis.pipelined(); List<byte[]> res = new ArrayList<>(); List<Response<byte[]>> temps = new ArrayList<>(); int temp = 0; while (temp < blockSize) { Response<byte[]> data = pipelined.hget(fileDataKey.getBytes(), getBlockName(fileName, temp)); temps.add(data); if (temp % Constants.SYNC_COUNT == 0) { pipelined.sync(); res.addAll(temps.stream().map(response -> uncompressFilter(response.get())).collect(Collectors.toList())); temps.clear(); pipelined = jedis.pipelined(); } temp++; } try { pipelined.sync(); } catch (JedisConnectionException e) { log.error("pipelined = {}, blockSize = {}!", pipelined.toString(), blockSize); log.error("", e); } finally { jedis.close(); } res.addAll(temps.stream().map(response -> uncompressFilter(response.get())).collect(Collectors.toList())); temps.clear(); return res; }
Example 18
Source File: JedisStream.java From RedisDirectory with Apache License 2.0 | 5 votes |
@Override public void deleteFile(String fileLengthKey, String fileDataKey, String field, long blockSize) { Jedis jedis = openJedis(); Pipeline pipelined = jedis.pipelined(); //delete file length pipelined.hdel(fileLengthKey.getBytes(), field.getBytes()); //delete file content for (int i = 0; i < blockSize; i++) { byte[] blockName = getBlockName(field, i); pipelined.hdel(fileDataKey.getBytes(), blockName); } pipelined.sync(); jedis.close(); }
Example 19
Source File: JedisPoolStream.java From RedisDirectory with Apache License 2.0 | 5 votes |
@Override public List<byte[]> loadFileOnce(String fileDataKey, String fileName, long blockSize) { Jedis jedis = jedisPool.getResource(); Pipeline pipelined = jedis.pipelined(); List<byte[]> res = new ArrayList<>(); List<Response<byte[]>> temps = new ArrayList<>(); int temp = 0; while (temp < blockSize) { Response<byte[]> data = pipelined.hget(fileDataKey.getBytes(), getBlockName(fileName, temp)); temps.add(data); if (temp % Constants.SYNC_COUNT == 0) { pipelined.sync(); res.addAll(temps.stream().map(response -> uncompressFilter(response.get())).collect(Collectors.toList())); pipelined = jedis.pipelined(); temps.clear(); } temp++; } try { pipelined.sync(); } catch (JedisConnectionException e) { log.error("pipelined = {}, blockSize = {}!", pipelined.toString(), blockSize); log.error("", e); } finally { jedis.close(); } res.addAll(temps.stream().map(response -> uncompressFilter(response.get())).collect(Collectors.toList())); temps.clear(); return res; }
Example 20
Source File: RedisStorage.java From quartz-redis-jobstore with Apache License 2.0 | 4 votes |
/** * Remove (delete) the <code>{@link org.quartz.Trigger}</code> with the given key. * @param triggerKey the key of the trigger to be removed * @param removeNonDurableJob if true, the job associated with the given trigger will be removed if it is non-durable * and has no other triggers * @param jedis a thread-safe Redis connection * @return true if the trigger was found and removed */ @Override protected boolean removeTrigger(TriggerKey triggerKey, boolean removeNonDurableJob, Jedis jedis) throws JobPersistenceException, ClassNotFoundException { final String triggerHashKey = redisSchema.triggerHashKey(triggerKey); final String triggerGroupSetKey = redisSchema.triggerGroupSetKey(triggerKey); if(!jedis.exists(triggerHashKey)){ return false; } OperableTrigger trigger = retrieveTrigger(triggerKey, jedis); final String jobHashKey = redisSchema.jobHashKey(trigger.getJobKey()); final String jobTriggerSetKey = redisSchema.jobTriggersSetKey(trigger.getJobKey()); Pipeline pipe = jedis.pipelined(); // remove the trigger from the set of all triggers pipe.srem(redisSchema.triggersSet(), triggerHashKey); // remove the trigger from its trigger group set pipe.srem(triggerGroupSetKey, triggerHashKey); // remove the trigger from the associated job's trigger set pipe.srem(jobTriggerSetKey, triggerHashKey); pipe.sync(); if(jedis.scard(triggerGroupSetKey) == 0){ // The trigger group set is empty. Remove the trigger group from the set of trigger groups. jedis.srem(redisSchema.triggerGroupsSet(), triggerGroupSetKey); } if(removeNonDurableJob){ pipe = jedis.pipelined(); Response<Long> jobTriggerSetKeySizeResponse = pipe.scard(jobTriggerSetKey); Response<Boolean> jobExistsResponse = pipe.exists(jobHashKey); pipe.sync(); if(jobTriggerSetKeySizeResponse.get() == 0 && jobExistsResponse.get()){ JobDetail job = retrieveJob(trigger.getJobKey(), jedis); if(!job.isDurable()){ // Job is not durable and has no remaining triggers. Delete it. removeJob(job.getKey(), jedis); signaler.notifySchedulerListenersJobDeleted(job.getKey()); } } } if(isNullOrEmpty(trigger.getCalendarName())){ jedis.srem(redisSchema.calendarTriggersSetKey(trigger.getCalendarName()), triggerHashKey); } unsetTriggerState(triggerHashKey, jedis); jedis.del(triggerHashKey); jedis.del(redisSchema.triggerDataMapHashKey(triggerKey)); return true; }