本文整理汇总了Java中redis.clients.jedis.Jedis.linsert方法的典型用法代码示例。如果您正苦于以下问题:Java Jedis.linsert方法的具体用法?Java Jedis.linsert怎么用?Java Jedis.linsert使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类redis.clients.jedis.Jedis
的用法示例。
在下文中一共展示了Jedis.linsert方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: addIndex
import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
@Override
public boolean addIndex(String queueID, long index, ResourceItem e) {
if (!lockQueue(queueID)) {
return false;
}
remove(queueID, e.getKey());
Jedis jedis = jedisPool.getResource();
try {
String poolQueueKey = makePoolQueueKey(queueID);
Long length = jedis.llen(poolQueueKey);
if (index <= length) {
index = length - 1;
}
String position = jedis.lindex(makePoolQueueKey(queueID), index);
if (isNil(position)) {
jedis.rpush(poolQueueKey, e.getKey());
} else {
jedis.linsert(poolQueueKey, BinaryClient.LIST_POSITION.AFTER, position, e.getKey());
}
jedis.hset(makeDataKey(queueID), e.getKey(), JSONObject.toJSONString(e));
} finally {
IOUtils.closeQuietly(jedis);
unLockQueue(queueID);
}
return true;
}
示例2: linsert
import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
@Override
public Long linsert(String key, LIST_POSITION where, String pivot, String value) {
Jedis jedis = null;
Long res = null;
try {
jedis = pool.getResource();
res = jedis.linsert(key, where, pivot, value);
} catch (Exception e) {
LOGGER.error(e.getMessage());
} finally {
returnResource(pool, jedis);
}
return res;
}
示例3: addIndex
import redis.clients.jedis.Jedis; //导入方法依赖的package包/类
@Override
public boolean addIndex(String queueID, long index, ResourceItem e) {
if (!lockQueue(queueID)) {
return false;
}
@Cleanup Jedis jedis = jedisPool.getResource();
try {
remove(queueID, e.getKey());
// block 从1开始计数
int block = blockID(index + 1);
List<String> sliceQueue = sliceQueue(queueID);
String sliceID;
if (block - 1 < sliceQueue.size()) {
sliceID = sliceQueue.get(block - 1);
} else {
// create a new slice
sliceID = String.valueOf(block);
if (!sliceQueue.contains(sliceID)) {
Preconditions.checkArgument(index <= size(queueID));
jedis.rpush(makeSliceQueueKey(queueID), sliceID);
} else {
sliceID = sliceQueue.get(sliceQueue.size() - 1);
}
}
String poolQueueKey = makePoolQueueKey(queueID, sliceID);
Long length = jedis.llen(poolQueueKey);
long offset = blockOffset(index);
if (offset <= length) {
offset = length - 1;
}
String position = jedis.lindex(makePoolQueueKey(queueID, sliceID), offset);
if (isNil(position)) {
jedis.rpush(poolQueueKey, e.getKey());
} else {
jedis.linsert(poolQueueKey, BinaryClient.LIST_POSITION.AFTER, position, e.getKey());
}
jedis.hset(makeDataKey(queueID), e.getKey(), JSONObject.toJSONString(e));
} finally {
unLockQueue(queueID);
}
return true;
}