public static class RedisUtils.ListOps extends Object
| 构造器和说明 |
|---|
ListOps() |
| 限定符和类型 | 方法和说明 |
|---|---|
static Object |
lIndex(String key,
long index)
通过索引index, 获取(key对应的)list中的元素
注: 若key不存在 或 index超出(key对应的)list的索引范围,那么返回null
|
static <T> T |
lLeftPop(String key)
【非阻塞队列】 从左侧移出(key对应的)list中的第一个元素, 并将该元素返回
注: 此方法是非阻塞的, 即: 若(key对应的)list中的所有元素都被pop移出了,此时,再进行pop的话,会立即返回null
注: 此方法是非阻塞的, 即: 若redis中不存在对应的key,那么会立即返回null
注: 若将(key对应的)list中的所有元素都pop完了,那么该key会被删除
|
static <T> T |
lLeftPop(String key,
long timeout,
TimeUnit unit)
【阻塞队列】 从左侧移出(key对应的)list中的第一个元素, 并将该元素返回
注: 此方法是阻塞的, 即: 若(key对应的)list中的所有元素都被pop移出了,此时,再进行pop的话,
会阻塞timeout这么久,然后返回null
注: 此方法是阻塞的, 即: 若redis中不存在对应的key,那么会阻塞timeout这么久,然后返回null
注: 若将(key对应的)list中的所有元素都pop完了,那么该key会被删除
提示: 若阻塞过程中, 目标key-list出现了,且里面有item了,那么会立马停止阻塞, 进行元素移出并返回
|
static long |
lLeftPush(String key,
Object item)
从左端推入元素进列表
注: 若redis中不存在对应的key, 那么会自动创建
|
static long |
lLeftPush(String key,
String pivot,
Object item)
若key对应的list中存在pivot项, 那么将item放入第一个pivot项前(即:放在第一个pivot项左边);
若key对应的list中不存在pivot项, 那么不做任何操作, 直接返回-1。
|
static long |
lLeftPushAll(String key,
Collection<Object> items)
从左端批量推入元素进列表
注: 若redis中不存在对应的key, 那么会自动创建
注: 这一批item中,那个item先从Collection取出来,就先push哪个
|
static long |
lLeftPushAll(String key,
Object... items)
从左端批量推入元素进列表
注: 若redis中不存在对应的key, 那么会自动创建
注: 这一批item中,先push左侧的, 后push右侧的
|
static long |
lLeftPushIfPresent(String key,
Object item)
如果redis中存在key, 则从左端批量推入元素进列表;
否则,不进行任何操作
|
static List<Object> |
lRange(String key,
long start,
long end)
获取(key对应的)list中索引在[start, end]之间的item集
注: 含start、含end。
|
static long |
lRemove(String key,
long expectCount,
String item)
删除(key对应的)list中,前expectCount个值等于item的项
注: 若expectCount == 0, 则表示删除list中所有的值等于item的项.
|
static <T> T |
lRightPop(String key)
与
lLeftPop(String)类比即可, 不过是从list右侧移出元素 |
static <T> T |
lRightPop(String key,
long timeout,
TimeUnit unit)
与
lLeftPop(String, long, TimeUnit)类比即可, 不过是从list右侧移出元素 |
static <T> T |
lRightPopAndLeftPush(String sourceKey,
String destinationKey)
【非阻塞队列】 从sourceKey对应的sourceList右侧移出一个item, 并将这个item推
入(destinationKey对应的)destinationList的左侧
注: 若sourceKey对应的list中没有item了,则立马认为(从sourceKey对应的list中pop出来的)item为null,
null并不会往destinationKey对应的list中push。
|
static Object |
lRightPopAndLeftPush(String sourceKey,
String destinationKey,
long timeout,
TimeUnit unit)
【阻塞队列】 从sourceKey对应的sourceList右侧移出一个item, 并将这个item推
入(destinationKey对应的)destinationList的左侧
注: 若sourceKey对应的list中没有item了,则阻塞等待, 直到能从sourceList中移出一个非null的item(或等待时长超时);
case1: 等到了一个非null的item, 那么继续下面的push操作,并返回这个item。
|
static long |
lRightPush(String key,
Object item)
与
lLeftPush(String, Object)类比即可, 不过是从list右侧推入元素 |
static long |
lRightPush(String key,
String pivot,
Object item)
与
lLeftPush(String, String, Object)类比即可, 不过是从list右侧推入元素 |
static long |
lRightPushAll(String key,
Collection<String> items)
与
lLeftPushAll(String, Collection) )} 类比即可, 不过是从list右侧推入元素 |
static long |
lRightPushAll(String key,
Object... items)
与
lLeftPushAll(String, Object...)类比即可, 不过是从list右侧推入元素 |
static long |
lRightPushIfPresent(String key,
Object item)
与
lLeftPushIfPresent(String, Object)类比即可, 不过是从list右侧推入元素 |
static void |
lSet(String key,
long index,
String item)
设置(key对应的)list中对应索引位置index处的元素为item
注: 若key不存在,则会抛出org.springframework.data.redis.RedisSystemException
注: 若索引越界,也会抛出org.springframework.data.redis.RedisSystemException
|
static long |
lSize(String key)
获取(key对应的)list的size
注: 当key不存在时,获取到的size为0.
|
static void |
lTrim(String key,
long start,
long end)
裁剪(即: 对list中的元素取交集。)
|
static List<Object> |
lWholeList(String key)
获取(key对应的)list
|
public static long lLeftPush(String key, Object item)
key - 定位list的keyitem - 要推入list的元素public static long lLeftPushAll(String key, Object... items)
key - 定位list的keyitems - 要批量推入list的元素集public static long lLeftPushAll(String key, Collection<Object> items)
key - 定位list的keyitems - 要批量推入list的元素集public static long lLeftPushIfPresent(String key, Object item)
key - 定位list的keyitem - 要推入list的项public static long lLeftPush(String key, String pivot, Object item)
key - 定位list的keyitem - 要推入list的元素public static long lRightPush(String key, Object item)
lLeftPush(String, Object)类比即可, 不过是从list右侧推入元素public static long lRightPushAll(String key, Object... items)
lLeftPushAll(String, Object...)类比即可, 不过是从list右侧推入元素public static long lRightPushAll(String key, Collection<String> items)
lLeftPushAll(String, Collection) )} 类比即可, 不过是从list右侧推入元素public static long lRightPushIfPresent(String key, Object item)
lLeftPushIfPresent(String, Object)类比即可, 不过是从list右侧推入元素public static long lRightPush(String key, String pivot, Object item)
lLeftPush(String, String, Object)类比即可, 不过是从list右侧推入元素public static <T> T lLeftPop(String key)
key - 定位list的keypublic static <T> T lLeftPop(String key, long timeout, TimeUnit unit)
key - 定位list的keytimeout - 超时时间unit - timeout的单位public static <T> T lRightPop(String key)
lLeftPop(String)类比即可, 不过是从list右侧移出元素public static <T> T lRightPop(String key, long timeout, TimeUnit unit)
lLeftPop(String, long, TimeUnit)类比即可, 不过是从list右侧移出元素public static <T> T lRightPopAndLeftPush(String sourceKey, String destinationKey)
sourceKey - 定位sourceList的keydestinationKey - 定位destinationList的keypublic static Object lRightPopAndLeftPush(String sourceKey, String destinationKey, long timeout, TimeUnit unit)
sourceKey - 定位sourceList的keydestinationKey - 定位destinationList的keytimeout - 超时时间unit - timeout的单位public static void lSet(String key, long index, String item)
key - 定位list的keyindex - 定位list中的元素的索引item - 要替换成的值public static Object lIndex(String key, long index)
key - 定位list的keyindex - 定位list中的item的索引public static List<Object> lRange(String key, long start, long end)
key - 定位list的keystart - 起始元素的indexend - 结尾元素的indexpublic static List<Object> lWholeList(String key)
key - 定位list的keylRange(String, long, long)public static long lSize(String key)
key - 定位list的keypublic static long lRemove(String key, long expectCount, String item)
key - 定位list的keyexpectCount - 要删除的item的个数item - 要删除的itempublic static void lTrim(String key, long start, long end)
key - 定位list的keystart - 要删除的item集的起始项的索引end - 要删除的item集的结尾项的索引Copyright © 2022. All rights reserved.