redistemplate.opsforvalue();//操作字串
redistemplate.opsforhash();//操作hash
redistemplate.opsforlist();//操作list
redistemplate.opsforset();//操作set
redistemplate.opsforzset();//操作有序set
1.set(k key,v value),新增乙個字串型別的鍵值對,es:redistemplate.opsforvalue().set(「key」,」「value)
2.get(object key),獲取key鍵對應的value,es:redistemplate.opsforvalue().get(「key」)
4.get(k key, long start, long end),擷取key對應的value字串,包含結束下標,
es:redistemplate.opsforvalue().get(「key」,0,3)
5.getandset(k key, v value),獲取原來的值並重新賦值,es:redistemplate.opsforvalue().getandset(「key」,「other」)
6.setbit(k key, long offset, boolean value),key鍵對應的值value對應的ascii碼,在offset的位置(從左向右數)變為value
es: template.opsforvalue().set("bittest","a");
// 'a' 的ascii碼是 97。轉換為二進位制是:01100001
// 'b' 的ascii碼是 98 轉換為二進位制是:01100010
// 'c' 的ascii碼是 99 轉換為二進位制是:01100011
//因為二進位制只有0和1,在setbit中true為1,false為0,因此我要變為'b'的話第六位設定為1,第七位設定為0
template.opsforvalue().setbit("bittest",6, true);
template.opsforvalue().setbit("bittest",7, false);
system.out.println(template.opsforvalue().get("bittest"));
7.getbit(k key, long offset),判斷指定的位置ascii碼的bit位是否為1,es:redistemplate.opsforvalue().getbit(「stringvalue」,1)
8.size(k key),獲取指定字串的長度,es:redistemplate.opsforvalue().size(「stringvalue」)
9.increment(k key, double delta),以增量的方式將double值儲存在變數中,如果原來的key對應的值不是數值,會報錯
10.increment(k key, long delta) 同上
11.setifabsent(k key, v value),不存在則新增(返回true),存在則不改變原來的值(返回false),es:redistemplate.opsforvalue().setifabsent(「key」,」value」)
12.set(k key, v value, long timeout, timeunit unit),設定鍵值對的過期時間es:redistemplate.opsforvalue().set(「name」,」tom」,10, timeunit.seconds),10秒之內get(「name」)有值,10秒之後為null
13.set(k key, v value, long offset),覆蓋從指定位置開始的值
使用:template.opsforvalue().set("key","hello world");
template.opsforvalue().set("key","redis", 6);
system.out.println("***************"+template.opsforvalue().get("key"));
結果:hello redis
14.
multiset(map<? extends k,? extends v> map),設定map集合到redis
es:map valuemap = new hashmap();
valuemap.put("valuemap1","map1");
valuemap.put("valuemap2","map2");
valuemap.put("valuemap3","map3");
redistemplate.opsforvalue().multiset(valuemap);
15.
multiget(collectionkeys),根據集合取出對應的value值
es://根據list集合取出對應的value值
list paralist = new arraylist();
paralist.add("valuemap1");
paralist.add("valuemap2");
paralist.add("valuemap3");
listvaluelist = redistemplate.opsforvalue().multiget(paralist);
16.
multisetifabsent(map<? extends k,? extends v> map),如果對應的map集合名稱不存在,則新增(返回true),如果存在則不做修改(返回false)
17.
map valuemap = new hashmap();
valuemap.put("valuemap1","map1");
valuemap.put("valuemap2","map2");
valuemap.put("valuemap3","map3");
redistemplate.opsforvalue().multisetifabsent(valuemap);
參考:
1.
2.
菜雞高階之路
記錄一下自己一點大學獲獎經歷 2018.10 山東省高校機械人大賽 二等獎2018.12 青島大學電子設計競賽 一等獎2018.12 青島大學第一屆程式設計大賽 冠軍2019.3 第十屆藍橋杯山東省賽 一等獎2019.4 電腦科學與技術學院圖靈杯程式設計大賽 冠軍2019.5 山東省acm程式設計競...
菜雞的自救之路
博主研二在讀,渾渾噩噩,一無所學。一朝面臨畢業求職,惶惶恐恐,雖無大志,但也不甘墮落。於是今日開啟菜雞的自我拯救之路,爭取通過數月乃至一年的努力,不求成為大神,起碼脫離菜雞稱號,等來年春招,在面臨殘酷的競爭時不至於任人宰割。首先明確需要點亮的技能樹都有哪些 畢業要緊,最理想的情況當然是在滿足科研專案...
乙隻菜雞的半年技術部落格之路
然而重度拖延症的我一直帶著這個想法很久也沒有付諸行動,直到今年,我才將這個事情提上日程,逼著自己多學習,多記錄,多分享,所以就這樣開始了旅途 基礎篇 sringboot篇 docker容器篇 容器集群篇 綜合技術棧篇 趣味技術篇 最終確定了現在的這個personal blog 雖然現有的部落格平台寫...