Spring中使用RedisTemplate操作Redis(spring(4)

使用:System.out.println(template.opsForList().range("list",0,-1));
template.opsForList().trim("list",1,-1);//裁剪第一个元素
System.out.println(template.opsForList().range("list",0,-1));
结果:[c#, c++, python, java, c#, c#]
[c++, python, java, c#, c#]

•Long size(K key);
返回存储在键中的列表的长度。如果键不存在,则将其解释为空列表,并返回0。当key存储的值不是列表时返回错误。

使用:System.out.println(template.opsForList().size("list"));
结果:6

•Long leftPush(K key, V value);
将所有指定的值插入存储在键的列表的头部。如果键不存在,则在执行推送操作之前将其创建为空列表。(从左边插入)

使用:template.opsForList().leftPush("list","java");
      template.opsForList().leftPush("list","python");
      template.opsForList().leftPush("list","c++");
结果:返回的结果为推送操作后的列表的长度
1
2
3

•Long leftPushAll(K key, V... values);
批量把一个数组插入到列表中

使用:String[] stringarrays = new String[]{"1","2","3"};
      template.opsForList().leftPushAll("listarray",stringarrays);
      System.out.println(template.opsForList().range("listarray",0,-1));
结果:[3, 2, 1]

•Long leftPushAll(K key, Collection<V> values);
批量把一个集合插入到列表中

使用:List<Object> strings = new ArrayList<Object>();
      strings.add("1");
      strings.add("2");
      strings.add("3");
      template.opsForList().leftPushAll("listcollection4", strings);
      System.out.println(template.opsForList().range("listcollection4",0,-1));
结果:[3, 2, 1]

•Long leftPushIfPresent(K key, V value);
只有存在key对应的列表才能将这个value值插入到key所对应的列表中

使用:System.out.println(template.opsForList().leftPushIfPresent("leftPushIfPresent","aa"));
      System.out.println(template.opsForList().leftPushIfPresent("leftPushIfPresent","bb"));
==========分割线===========
System.out.println(template.opsForList().leftPush("leftPushIfPresent","aa"));
      System.out.println(template.opsForList().leftPushIfPresent("leftPushIfPresent","bb"));
结果:
0
0
==========分割线===========
1
2

•Long leftPush(K key, V pivot, V value);
把value值放到key对应列表中pivot值的左面,如果pivot值存在的话

使用:template.opsForList().leftPush("list","java","oc");
      System.out.print(template.opsForList().range("list",0,-1));
结果:[c++, python, oc, java, c#, c#]

•Long rightPush(K key, V value);
将所有指定的值插入存储在键的列表的头部。如果键不存在,则在执行推送操作之前将其创建为空列表。(从右边插入)

使用:template.opsForList().rightPush("listRight","java");
      template.opsForList().rightPush("listRight","python");
      template.opsForList().rightPush("listRight","c++");
结果:
1
2
3

•Long rightPushAll(K key, V... values);

使用:String[] stringarrays = new String[]{"1","2","3"};
      template.opsForList().rightPushAll("listarrayright",stringarrays);
      System.out.println(template.opsForList().range("listarrayright",0,-1));
结果:[1, 2, 3]

•Long rightPushAll(K key, Collection<V> values);

使用:List<Object> strings = new ArrayList<Object>();
      strings.add("1");
      strings.add("2");
      strings.add("3");
      template.opsForList().rightPushAll("listcollectionright", strings);
      System.out.println(template.opsForList().range("listcollectionright",0,-1));
结果:[1, 2, 3]

•Long rightPushIfPresent(K key, V value);
只有存在key对应的列表才能将这个value值插入到key所对应的列表中

使用:System.out.println(template.opsForList().rightPushIfPresent("rightPushIfPresent","aa"));
      System.out.println(template.opsForList().rightPushIfPresent("rightPushIfPresent","bb"));
      System.out.println("==========分割线===========");
      System.out.println(template.opsForList().rightPush("rightPushIfPresent","aa"));
      System.out.println(template.opsForList().rightPushIfPresent("rightPushIfPresent","bb"));
结果:0
0
==========分割线===========
1
2

•Long rightPush(K key, V pivot, V value);
把value值放到key对应列表中pivot值的右面,如果pivot值存在的话

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8f96c330d6318f32beb9e4557005b934.html