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

使用:System.out.println(template.opsForList().range("listRight",0,-1));
      template.opsForList().rightPush("listRight","python","oc");
      System.out.println(template.opsForList().range("listRight",0,-1));
结果:[java, python, c++]
[java, python, oc, c++]

•void set(K key, long index, V value);
在列表中index的位置设置value值

使用:System.out.println(template.opsForList().range("listRight",0,-1));
      template.opsForList().set("listRight",1,"setValue");
      System.out.println(template.opsForList().range("listRight",0,-1));
结果:[java, python, oc, c++]
[java, setValue, oc, c++]

•Long remove(K key, long count, Object value);
从存储在键中的列表中删除等于值的元素的第一个计数事件。
计数参数以下列方式影响操作:
count> 0:删除等于从头到尾移动的值的元素。
count <0:删除等于从尾到头移动的值的元素。
count = 0:删除等于value的所有元素。

使用:System.out.println(template.opsForList().range("listRight",0,-1));
      template.opsForList().remove("listRight",1,"setValue");//将删除列表中存储的列表中第一次次出现的“setValue”。
      System.out.println(template.opsForList().range("listRight",0,-1));
结果:[java, setValue, oc, c++]
[java, oc, c++]

•V index(K key, long index);
根据下表获取列表中的值,下标是从0开始的

使用:System.out.println(template.opsForList().range("listRight",0,-1));
System.out.println(template.opsForList().index("listRight",2));
结果:[java, oc, c++]
c++

•V leftPop(K key);
弹出最左边的元素,弹出之后该值在列表中将不复存在

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

•V leftPop(K key, long timeout, TimeUnit unit);
移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

使用:用法与 leftPop(K key);一样

•V rightPop(K key);
弹出最右边的元素,弹出之后该值在列表中将不复存在

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

•V rightPop(K key, long timeout, TimeUnit unit);
移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

使用:用法与 rightPop(K key);一样

•V rightPopAndLeftPush(K sourceKey, K destinationKey);
用于移除列表的最后一个元素,并将该元素添加到另一个列表并返回。

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

•V rightPopAndLeftPush(K sourceKey, K destinationKey, long timeout, TimeUnit unit);
用于移除列表的最后一个元素,并将该元素添加到另一个列表并返回,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

使用:用法与rightPopAndLeftPush(K sourceKey, K destinationKey)一样

Redis的Hash数据机构

Redis的散列可以让用户将多个键值对存储到一个Redis键里面。
public interface HashOperations<H,HK,HV>
HashOperations提供一系列方法操作hash:

初始数据:
//template.opsForHash().put("redisHash","name","tom");
        //template.opsForHash().put("redisHash","age",26);
        //template.opsForHash().put("redisHash","class","6");

//Map<String,Object> testMap = new HashMap();
        //testMap.put("name","jack");
        //testMap.put("age",27);
        //testMap.put("class","1");
        //template.opsForHash().putAll("redisHash1",testMap);

•Long delete(H key, Object... hashKeys);
删除给定的哈希hashKeys

使用:System.out.println(template.opsForHash().delete("redisHash","name"));
      System.out.println(template.opsForHash().entries("redisHash"));
结果:1
{class=6, age=28.1}

•Boolean hasKey(H key, Object hashKey);
确定哈希hashKey是否存在

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

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