首頁  >  文章  >  資料庫  >  redis中的五種類型的用法是什麼

redis中的五種類型的用法是什麼

王林
王林轉載
2021-02-02 09:30:301963瀏覽

redis中的五種類型的用法是什麼

首先我們來介紹下redis中的五種型別:

#字串(String)、雜湊/雜湊/字典(Hash)、列表(List )、集合(Set)、有序集合(sorted set)。

Controller:@Resource RedisTemplate redisTemplate;

總括:

redisTemplate.opsForValue();//操作字串
redisTemplate .opsForHash();//操作hash
redisTemplate.opsForList();//操作list
redisTemplate.opsForSet();//操作set
redisTemplate.opsForZSet();//操作有序set

String:

1.redisTemplate.opsForValue().set(key,value));
2.redisTemplate.opsForValue().get(key));
3.redisTemplate.opsForValue().get(key, start, end);
4.redisTemplate.opsForValue().getAndSet(key, value);
5.redisTemplate.opsForValue().getBit(key, offset);//下方註解
6.redisTemplate.opsForValue().multiGet(keys);
7.redisTemplate.opsForValue().setBit(key, offset, value);//下方註解
8.redisTemplate.opsForValue().set(K key, V value, long timeout, TimeUnit unit);//TimeUnit是timeout的類型,如毫秒\秒\天等
9.redisTemplate.opsForValue().setIfAbsent (key, value);
10.redisTemplate.opsForValue().set(K key, V value, long offset);//博主此處未做java驗證
11.redisTemplate.opsForValue(). size(key));
12.redisTemplate.opsForValue().multiGet(Collection keys);
13.redisTemplate.opsForValue().multiSetIfAbsent(Map extends K,opsForValue().multiSetIfAbsent(Map extends K, extends V> );
14.同8
15\16\17\18\19.redisTemplate.opsForValue().increment(K key, long delta);或.increment(K key, double delta);
20.redisTemplate.opsForValue().append(key, value);//在key鍵對應值的右面追加值value
可以看到並沒有刪除等方法,博主研究了一下可以這樣:21. del key------21.redisTemplate.opsForValue().getOperations().delete(key);

redis中的五種類型的用法是什麼

.setBit(key, offset, 值): key鍵對應的值value對應的ascii碼,在offset的位置(從左向右數)變為value.(此處感謝@參考文章對我理解的幫助),由於二進制只有0和1,此處value只能取0和1,如圖,其他值是超出範圍的
.getBit(key, offset):取得鍵對應值的ascii碼的在offset處位值.
@ascii碼對照表

redis中的五種類型的用法是什麼

Hash:
1.redisTemplate.opsForHash().delete(H key, Object... hashKeys);//...表示可以傳入多個map的key,用,隔開。或用陣列傳值
2.redisTemplate.opsForHash().hasKey(key, hashKey);
3.redisTemplate.opsForHash().get(key, hashKey);
4.redisTemplate.opsForHash( ).entries(key);//返回map集合
5、6.redisTemplate.opsForHash().increment(H key, HK hashKey, long delta);//或increment(H key, HK hashKey, double delta );;
7.redisTemplate.opsForHash().keys(key);//返回map的key集合Set
8.redisTemplate.opsForHash().size(key);
9.redisTemplate. opsForHash().multiGet(H key, Collection hashKeys);
10.redisTemplate.opsForHash().putAll(H key, Map extends HK, ? extends HV> m);
11. redisTemplate.opsForHash().put(key, hashKey, value);
12.redisTemplate.opsForHash().putIfAbsent(key, hashKey, value);
13.redisTemplate.opsForHash().values(key) ;//傳回map中的value集合List;

redis中的五種類型的用法是什麼

List:

redisTemplate.opsForList().leftPush(key, value);//從左向右存壓棧
redisTemplate.opsForList().leftPop(key);//從左出棧
redisTemplate.opsForList().size(key);//隊/棧長
redisTemplate .opsForList().range(key, start, end);//範圍檢索,回傳List
redisTemplate.opsForList().remove(key, i, value);//移除key中值為value的i個,回傳刪除的個數;如果沒有這個元素則回傳0
redisTemplate.opsForList().index(key, index);//檢索
redisTemplate.opsForList().set(key, index, value );//賦值
redisTemplate.opsForList().trim(key, start, end);//裁切,void,刪除除了[start,end]以外的所有元素 
redisTemplate.ForList().rightPopAndLeftPush (String sourceKey, String destinationKey);//將來源key的佇列的右邊的一個值刪除,然後塞入目標key的佇列的左邊,傳回這個值
注意:要快取的物件必須實作Serializable介面,因為Spring 會將物件先序列化再存入Redis,否則報異常nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable……//;;/

redis中的五種類型的用法是什麼

Set:
redisTemplate.opsForValue().getAndSet(key, 值)
redis中的五種類型的用法是什麼

相關推薦:redis資料庫教學

以上是redis中的五種類型的用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除