redis五大類型用法

來源:互聯網
上載者:User
Redis五大類型:字串(String)、雜湊/散列/字典(Hash)、列表(List)、集合(Set)、有序集合(sorted set)五種Controller:@Resource RedisTemplate<String, String> redisTemplate;總括:redisTemplate.opsForValue();//操作字串redisTemplate.opsForHash();//操作hashredisTemplate.opsForList();//操作listredisTemplate.opsForSet();//操作setredisTemplate.opsForZSet();//操作有序setString:
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<K> keys);13.redisTemplate.opsForValue().multiSetIfAbsent(Map<? extends K, ? extends V> m);14.同815\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);
 編號 命令 描述說明
1 SET key value 此命令設定指定鍵的值。
2 GET key 擷取指定鍵的值。
3 GETRANGE key start end 擷取儲存在鍵上的字串的子字串。
4 GETSET key value 設定鍵的字串值並返回其舊值。
5 GETBIT key offset 返回在鍵處儲存的字串值中位移處的位值。
6 MGET key1 [key2..] 擷取所有給定鍵的值
7 SETBIT key offset value 儲存在鍵上的字串值中設定或清除位移處的位
8 SETEX key seconds value 使用鍵和到期時間來設定值
9 SETNX key value 設定鍵的值,僅當鍵不存在時
10 SETRANGE key offset value 在指定位移處開始的鍵處覆蓋字串的一部分
11 STRLEN key 擷取儲存在鍵中的值的長度
12 MSET key value [key value …] 為多個鍵分別設定它們的值
13 MSETNX key value [key value …] 為多個鍵分別設定它們的值,僅當鍵不存在時
14 PSETEX key milliseconds value 設定鍵的值和到期時間(以毫秒為單位)
15 INCR key 將鍵的整數值增加1
16 INCRBY key increment 將鍵的整數值按給定的數值增加
17 INCRBYFLOAT key increment 將鍵的浮點值按給定的數值增加
18 DECR key 將鍵的整數值減1
19 DECRBY key decrement 按給定數值減少鍵的整數值
20 APPEND key value 將指定值附加到鍵
.setBit(key, offset, value):key鍵對應的值value對應的ascii碼,在offset的位置(從左向右數)變為value.(此處感謝@參考文章對我理解的協助),由於二進位只有0和1,此處value只能取0和1,如圖,其他值是超出範圍的.getBit(key, offset):擷取鍵對應值的ascii碼的在offset處位值.@ascii碼對照表

 

 

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集合Set8.redisTemplate.opsForHash().size(key);9.redisTemplate.opsForHash().multiGet(H key, Collection<HK> 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;
序號  命令 說明
1 HDEL key field2 [field2] 刪除一個或多個雜湊欄位。
2 HEXISTS key field 判斷是否存在散欄欄位。
3 HGET key field 擷取儲存在指定鍵的雜湊欄位的值。
4 HGETALL key 擷取儲存在指定鍵的雜湊中的所有欄位和值
5 HINCRBY key field increment 將雜湊欄位的整數值按給定數字增加
6 HINCRBYFLOAT key field increment 將雜湊欄位的浮點值按給定數值增加
7 HKEYS key 擷取雜湊中的所有欄位
8 HLEN key 擷取散列中的欄位數量
9 HMGET key field1 [field2] 擷取所有給定雜湊欄位的值
10 HMSET key field1 value1 [field2 value2 ] 為多個雜湊欄位分別設定它們的值
11 HSET key field value 設定散欄欄位的字串值
12 HSETNX key field value 僅當欄位不存在時,才設定散欄欄位的值
13 HVALS key 擷取雜湊中的所有值
List:redisTemplate.opsForList().leftPush(key, value);//從左向右存壓棧redisTemplate.opsForList().leftPop(key);//從左出棧redisTemplate.opsForList().size(key);//隊/棧長redisTemplate.opsForList().range(key, start, end);//範圍檢索,返回ListredisTemplate.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.opsForList().rightPopAndLeftPush(String sourceKey, String destinationKey);//將源key的隊列的右邊的一個值刪除,然後塞入目標key的隊列的左邊,返回這個值注意:要緩衝的對象必須實現Serializable介面,因為 Spring 會將對象先序列化再存入 Redis,否則報異常nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable……//;;/
序號  命令 說明
1 BLPOP key1 [key2 ] timeout 刪除並擷取列表中的第一個元素,或阻塞,直到有一個元素可用
2

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.