import redis.clients.jedis.BinaryClient;
import redis.clients.jedis.Jedis;
import java.util.List;
/**
* Created by user on 2015/12/8.
*/
public class RedisTestForList {
private Jedis jedis = new Jedis("10.19.16.31",6379);
public void test(){
//是一个双向链表实现。所以插入和删除数据的时间复杂度为O(1).
//list中放置值(从左侧开始)
jedis.lpush("list", "1");
jedis.lpush("list","2");
jedis.lpush("list", "5");
jedis.lpush("list", "4");
jedis.lpush("list", "3");
//从右侧开始放置值
jedis.rpush("list","11");
jedis.rpush("list","12");
jedis.rpush("list","13");
jedis.rpush("list", "14");
//在11之后插入这个16
jedis.linsert("list", BinaryClient.LIST_POSITION.AFTER, "11", "16");
//获得list全值
List<String> stringList = jedis.lrange("list", 0, -1);
System.out.println(stringList);
//list中元素个数
Long len =jedis.llen("list");
System.out.println(len);
//倒数第1、2个数 倒数的时候从-1开始算
List<String> strings = jedis.lrange("list", -2, -1);
//正数的时候从0开始计算位置。
List<String> strings1 = jedis.lrange("list", 1, 2);
System.out.println(strings1);
//index =0 的数据
String t= jedis.lindex("list", 4);
System.out.println(t);
//
String result = jedis.lpop("list");
System.out.println(result);
System.out.println(stringList);
/*
lrem key count value
1、如果count<0 ,从左面开始删除值为value,个数为|count|的数据
2、如果count>0 从右面开始删除值为value,个数为count的数据。
3、如果count=0 删除所有值为value的数据。*/
Long long1 = jedis.lrem("list",-1,"1");
System.out.println(long1);
System.out.println(stringList);
//list集合的自己,并赋值给了list
String res = jedis.ltrim("list", 0, 1);
System.out.println(res);
//更新的0位置的数据
jedis.lset("list", 0, "345");
stringList = jedis.lrange("list", 0, -1);
System.out.println(stringList);
}
public static void main(String[] args){
RedisTestForList redisTestForList = new RedisTestForList();
redisTestForList.test();
}
}
转载于:https://my.oschina.net/zjItLife/blog/540715