国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - Redis使用RedisTemplate模板類(lèi)的常用操作方式

Redis使用RedisTemplate模板類(lèi)的常用操作方式

2022-01-18 16:56程序大視界 Java教程

這篇文章主要介紹了Redis使用RedisTemplate模板類(lèi)的常用操作方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、前言

Redis是一個(gè)NoSQL(非關(guān)系型數(shù)據(jù)庫(kù))數(shù)據(jù)庫(kù)之一,key-value存儲(chǔ)系統(tǒng)或者說(shuō)是一個(gè)緩存鍵值對(duì)數(shù)據(jù)庫(kù),具有如下特性:

  • 基于內(nèi)存運(yùn)行,性能高效
  • 支持分布式,理論上可以無(wú)限擴(kuò)展
  • key-value存儲(chǔ)系統(tǒng)
  • 開(kāi)源的使用ANSI C語(yǔ)言編寫(xiě)、遵守BSD協(xié)議、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的API

主要應(yīng)用場(chǎng)景包括:

緩存系統(tǒng)、計(jì)數(shù)器、消息隊(duì)列系統(tǒng)、排行榜、社交網(wǎng)絡(luò)和實(shí)時(shí)系統(tǒng)、分布式鎖和發(fā)布/訂閱消息等。

而在程序中,對(duì)Redis的常用操作有一個(gè)專(zhuān)門(mén)用于操作Redis的模板類(lèi)(或API),它就是RedisTemplate。

二、Redis 數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)介

Redis可以存儲(chǔ)鍵與5種不同數(shù)據(jù)結(jié)構(gòu)類(lèi)型之間的映射,這5種數(shù)據(jù)結(jié)構(gòu)類(lèi)型分別為String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。

下面來(lái)對(duì)這5種數(shù)據(jù)結(jié)構(gòu)類(lèi)型作簡(jiǎn)單的介紹:

結(jié)構(gòu)類(lèi)型 結(jié)構(gòu)存儲(chǔ)的值 結(jié)構(gòu)的讀寫(xiě)能力
String 字符串、整數(shù)或者浮點(diǎn)數(shù) 對(duì)整個(gè)字符串或者字符串的其中一部分執(zhí)行操作;對(duì)象和浮點(diǎn)數(shù)執(zhí)行自增(increment)或者自減(decrement)
List 數(shù)組鏈表,鏈表上的每個(gè)節(jié)點(diǎn)都包含了一個(gè)元素 從鏈表的兩端推入或者彈出元素;根據(jù)偏移量對(duì)鏈表進(jìn)行修剪(trim);讀取單個(gè)或者多個(gè)元素;根據(jù)值來(lái)查找或者移除元素
Set 包含元素的無(wú)序收集器(unorderedcollection),并且被包含的每個(gè)元素都是獨(dú)一無(wú)二的、各不相同 添加、獲取、移除單個(gè)元素;檢查一個(gè)元素是否存在于某個(gè)集合中;計(jì)算交集、并集、差集;從集合里賣(mài)弄隨機(jī)獲取元素
Hash 包含鍵值對(duì)的無(wú)序散列表 添加、獲取、移除單個(gè)鍵值對(duì);獲取所有鍵值對(duì)
Zset 字符串成員(member)與浮點(diǎn)數(shù)分值(score)之間的有序映射,元素的排列順序由分值的大小決定 添加、獲取、刪除單個(gè)元素;根據(jù)分值范圍(range)或者成員來(lái)獲取元素

RedisTemplate位于spring-data-redis包下:

?
1
2
3
4
package org.springframework.data.redis.core;
public class RedisTemplate<K, V>
extends org.springframework.data.redis.core.RedisAccessor
implements org.springframework.data.redis.core.RedisOperations<K, V>

繼承了RedisAccessor類(lèi),實(shí)現(xiàn)了RedisOperations泛型鍵值對(duì)接口。

使用注解即可引用RedisTemplate:

?
1
2
@Autowired
private RedisTemplate<String,String> redisTemplate;

三、RedisTemplate對(duì)5種數(shù)據(jù)結(jié)構(gòu)的操作

redisTemplate使用如下幾種方法分別針對(duì)5種數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作:

?
1
2
3
4
5
redisTemplate.opsForValue();//操作字符串
redisTemplate.opsForHash();//操作hash
redisTemplate.opsForList();//操作list
redisTemplate.opsForSet();//操作set
redisTemplate.opsForZSet();//操作有序set

3.1 String字符串操作

?
1
2
3
4
//設(shè)置key和value值
redisTemplate.opsForValue().set("key","value");
//通過(guò)key獲取value值
String result = redisTemplate.opsForValue().get("key").toString();

3.2 list數(shù)組操作

?
1
2
3
4
5
6
7
8
9
10
11
//list數(shù)組對(duì)象和添加數(shù)組值
List<String> list = new ArrayList<String>(); 
list.add("a1"); 
list.add("a2"); 
list.add("a3"); 
 
//用redisTemplate模板類(lèi)把list數(shù)組集合添加進(jìn)Redis
redisTemplate.opsForList().leftPush("listkey",list); 
 
//用redisTemplate模板類(lèi)從Redis中根據(jù)key獲取list集合
List<String> resultList = (List<String>)redisTemplate.opsForList().leftPop("listkey");

3.3 Hash結(jié)構(gòu),map操作

?
1
2
3
4
5
6
7
8
9
10
11
12
//定義Map集合和類(lèi)型
Map<String,String> map = new HashMap<String,String>(); 
map.put("key1","value1"); 
map.put("key2","value2"); 
map.put("key3","value3"); 
 
//用redis模板類(lèi)把map設(shè)置到redis中
redisTemplate.opsForHash().putAll("map",map); 
Map<String,String> resultMap = redisTemplate.opsForHash().entries("map"); 
List<String> reslutMapList = redisTemplate.opsForHash().values("map"); 
Set<String> resultMapSet = redisTemplate.opsForHash().keys("map"); 
String value = (String)redisTemplate.opsForHash().get("map","key1"); 

3.4 Set集合操作

?
1
2
3
4
5
6
7
//定義一個(gè)set集合并設(shè)置集合值
SetOperations<String, String> set = redisTemplate.opsForSet();
set.add("set1","22"); 
set.add("set1","33"); 
set.add("set1","44"); 
//通過(guò)key獲取set集合中的對(duì)象值
Set<String> resultSet = redisTemplate.opsForSet().members("set1");

四、總結(jié)

以上就是Redis的幾種常用數(shù)據(jù)結(jié)構(gòu)和操作。

很多互聯(lián)網(wǎng)大廠都有用Redis在各種業(yè)務(wù)場(chǎng)景進(jìn)行使用,如今分布式流行的趨勢(shì),Redis更是舉足輕重不可不掌握的一個(gè)技術(shù);除了Redis,還有MemCache、Cassadra和Mongo等NoSQL。

希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/xuri24/article/details/109012069

延伸 · 閱讀

精彩推薦
  • Java教程20個(gè)非常實(shí)用的Java程序代碼片段

    20個(gè)非常實(shí)用的Java程序代碼片段

    這篇文章主要為大家分享了20個(gè)非常實(shí)用的Java程序片段,對(duì)java開(kāi)發(fā)項(xiàng)目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程xml與Java對(duì)象的轉(zhuǎn)換詳解

    xml與Java對(duì)象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對(duì)象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
  • Java教程Java8中Stream使用的一個(gè)注意事項(xiàng)

    Java8中Stream使用的一個(gè)注意事項(xiàng)

    最近在工作中發(fā)現(xiàn)了對(duì)于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個(gè)非常重要的注意點(diǎn),所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7482021-02-04
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java BufferWriter寫(xiě)文件寫(xiě)不進(jìn)去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫(xiě)文件寫(xiě)不進(jìn)去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫(xiě)文件寫(xiě)不進(jìn)去或缺失數(shù)據(jù)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程升級(jí)IDEA后Lombok不能使用的解決方法

    升級(jí)IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級(jí),尋思已經(jīng)有好久沒(méi)有升過(guò)級(jí)了。升級(jí)完畢重啟之后,突然發(fā)現(xiàn)好多錯(cuò)誤,本文就來(lái)介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java實(shí)現(xiàn)搶紅包功能

    Java實(shí)現(xiàn)搶紅包功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)搶紅包功能,采用多線(xiàn)程模擬多人同時(shí)搶紅包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙...

    littleschemer13532021-05-16
主站蜘蛛池模板: 一级黄色片子看看 | 国产精品毛片久久久久久久 | a级毛片免费高清视频 | 香蕉综合久久 | 日日操操 | 黄视频免费观看网站 | 午夜精品久久久久久久久久久久久 | 这里只有精品在线 | 国产视频一区在线 | 激情综合网五月婷婷 | 日本一区二区三区免费观看 | 国产一区二区三区久久 | 欧美天堂一区二区三区 | 国产精品高清一区二区 | 国产精品爱久久久久久久 | 久久久久久久久国产 | 久久精品成人 | 欧洲黄色 级黄色99片 | 日本a v网站 | 国产脚交av在线一区二区 | 日韩国产在线看 | 天天操天天干天天爽 | 婷婷激情久久 | 亚洲成人自拍 | 黄色精品| 日韩精品色 | 亚洲成人激情在线观看 | 福利社午夜影院 | 91嫩草国产露脸精品国产 | 午夜电影| 精品一区二区三区免费视频 | 成人羞羞网站 | 精品一区二区6 | 视频一区在线 | 成人高清视频在线观看 | 日韩三级观看 | 日韩福利二区 | 97理论片| 天天拍拍天天干 | 一级片在线观看 | 国产一区二区精品丝袜 |