這篇文章將為大家詳細講解有關(guān)redis中怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
專注于為中小企業(yè)提供網(wǎng)站設計制作、網(wǎng)站設計服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)云陽免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
首先我們來介紹下redis中的五種類型:
字符串(String)、哈希/散列/字典(Hash)、列表(List)、集合(Set)、有序集合(sorted set)。
Controller:@Resource 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
13.redisTemplate.opsForValue().multiSetIfAbsent(Map extends K, ? extends V> m);
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);
.setBit(key, offset, value):key鍵對應的值value對應的ascii碼,在offset的位置(從左向右數(shù))變?yōu)関alue.(此處感謝@參考文章對我理解的幫助),由于二進制只有0和1,此處value只能取0和1,如圖,其他值是超出范圍的
.getBit(key, offset):獲取鍵對應值的ascii碼的在offset處位值.
@ascii碼對照表
Hash:
1.redisTemplate.opsForHash().delete(H key, Object... hashKeys);//...表示可以傳入多個map的key,用,隔開?;蛴脭?shù)組傳值
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
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;
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個,返回刪除的個數(shù);如果沒有這個元素則返回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的隊列的左邊,返回這個值
注意:要緩存的對象必須實現(xiàn)Serializable接口,因為 Spring 會將對象先序列化再存入 Redis,否則報異常nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable……//;;/
Set:
redisTemplate.opsForValue().getAndSet(key, value)
關(guān)于“redis中怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。