激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 解決redisTemplate中leftPushAll隱性bug的問題

解決redisTemplate中leftPushAll隱性bug的問題

2021-08-08 14:39碼農下的天橋 Java教程

這篇文章主要介紹了解決redisTemplate中leftPushAll隱性bug的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

前言

請看下面代碼:

String key = String.format("test_key:%s", System.currentTimeMillis()/1000);
    String key2=key+"_2";
    String key3=key+"_3";
    List<String> t1=new ArrayList<>();
    t1.add("2");
    t1.add("3");
    t1.add("4");
    t1.add("5");
    t1.add("1");
    redisTemplate.opsForList().leftPushAll(key, t1);
    redisTemplate.opsForList().leftPushAll(key3, t1.toArray());
    redisTemplate.opsForList().leftPushAll(key2,new String[]{"dfdg","dgdaasdf","gdadfdf"});

其中,那么,請猜測一下各個key里面的內容,

下面開獎了:

解決redisTemplate中leftPushAll隱性bug的問題

解決redisTemplate中leftPushAll隱性bug的問題

解決redisTemplate中leftPushAll隱性bug的問題

結論

leftPushAll可以傳 Object… 數組,也可以傳 Collection進去。

然后實際上,我這邊傳 ArrayList這些數組是不行的,必須轉換為 [] 這種數組―就是說,api里面的leftPushAll(Collection list)

用不了,具體原因還在查。。。

不過網上資料太少了。。

補充:java 用redisTemplate 的 Operations存取list集合

一 、存取為list類型

@RestController
@RequestMapping("/test")
@Slf4j
public class TestController { 
  @Autowired
  private RedisTemplate redisTemplate;
 
  @ApiOperation("redis-savelist")
  @PostMapping("/redis/save/list")
  public void redisSaveList() {
    List<Person> list = getPersonList();
    //清空
    while (redisTemplate.opsForList().size("oowwoo") > 0){
      redisTemplate.opsForList().leftPop("oowwoo");
    }
    //存儲
    redisTemplate.opsForList().rightPushAll("oowwoo", list);
 
    //取出
    List<Person> oowwoo = redisTemplate.opsForList().range("oowwoo", 0, -1);
    log.info(">>>>>>>>>>>>>>>list = {}", oowwoo.toString());
    Iterator<Person> it = oowwoo.iterator();
    while(it.hasNext()){
      Person p = it.next();
      log.info("person = {}", p.toString());
    }
  } 
  private List<Person> getPersonList() {
    Person p1 = new Person();
    p1.setId(1L);
    p1.setName("張一");
    p1.setAge(11);
 
    Person p2 = new Person();
    p2.setId(2L);
    p2.setName("張二");
    p2.setAge(22);
 
    Person p3 = new Person();
    p3.setId(3L);
    p3.setName("張三");
    p3.setAge(33);
 
    List<Person> list = new ArrayList<>();
    list.add(p1);
    list.add(p2);
    list.add(p3);
    return list;
  }
}

二 、將list轉為json對象存取

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; 
 @Autowired
  private StringRedisTemplate stringRedisTemplate;
 
//存
List<Long> businessIdList = eeFreecarriageShopService.selectBusinessIdInPromotion();
 stringRedisTemplate.opsForValue().set(RedisConstants.FREECARRIAGE_BUSINESSIDLIST, JSON.toJSON(businessIdList).toString());
 
//取
String businessJsonArray = stringRedisTemplate.opsForValue().get(RedisConstants.FREECARRIAGE_BUSINESSIDLIST);
List<Long> businessIdList = JSONObject.parseArray(businessJsonArray, Long.class);

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。如有錯誤或未考慮完全的地方,望不吝賜教。

原文鏈接:https://blog.csdn.net/cdnight/article/details/88803869

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: av免费在线网 | 亚欧美一区二区 | 欧美成人久久 | 亚洲成人免费视频在线 | 黄色免费影片 | 免费观看黄视频 | 日本网站一区 | 精品亚洲一区二区三区 | 成年人免费视频播放 | 国产在线精品91 | av在线播放亚洲 | 日本特级a一片免费观看 | 国产一区二区三区在线视频 | 福利在线小视频 | 日日草夜夜操 | 成人毛片视频在线观看 | 国产精品久久久久久久久久久久久久久久 | 国产亚洲精久久久久久蜜臀 | 久久久视频免费观看 | 欧美日韩一区二区综合 | 中国av免费在线观看 | 一本色道久久久888 青青草好吊色 | 成年免费看| 在线免费av网站 | 亚洲一二区精品 | 999久久久久久 | 成年免费大片黄在线观看岛国 | 女人裸体让男人桶全过程 | 一区二区三区四区国产精品视频 | 国产精品免费在线 | 成人国产精品久久 | 久久精品视频国产 | 久久久久久久久久网 | 国模论坛 | 亚洲va久久久噜噜噜久久男同 | 日本一区二区视频在线 | 未成年人在线观看 | 久久精品综合视频 | 国产午夜精品久久久久久免费视 | 欧美一级黄 | 精品无吗乱吗av国产爱色 |