三: list -- 双端队列结构。先进后出,排序是按照 插入的顺序排序 , 有顺序,且可以重复
比如: 沙和尚 猪八戒 孙悟空 唐僧 chaoyang 刘备 关羽 张飞 赵四
左边增: lpush key xxx
右边增: rpush key xxx
遍历: lrange key 0 -1
左边删除: lpop key
右边删除: rpop key
插入 linsert hero before "刘备" 前插入 "朝阳"
查单 lindex hero 0
举例:
abcdefg123456
全查是654321gfedcba
想要a就是-1 c是-3 6是0 4是2
删除指定的值 比较复杂 lrem hero count value
count > 0 表示 从头向尾巴, 从左到右 搜索,移除何 value 相等 元素, 数量为 count 。
count > 0 表示 从尾巴向头, 从右到左 搜索,移除何 value 相等 元素, 数量为 count 的绝对值 。
count = 0 表示 移除表中所有与value相等的值。
注意: 因为是list 的数据类型, 所以 值是可以 相同的
@Test
public void test04(){
jedisPool.getResource().lpush("names", "唐僧","孙悟空");
List<String> names = jedisPool.getResource().lrange("names", 0, -1);
for (String name : names) {
System.out.println("name = " + name);
}
String names1 = jedisPool.getResource().lpop("names");
System.out.println("names1 = " + names1);
List<String> names2 = jedisPool.getResource().lrange("names", 0, -1);
for (String name : names2) {
System.out.println("name = " + name);
}
}