亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis如何使用RedisTemplate模板類的常用操作方式

發布時間:2021-09-26 09:54:47 來源:億速云 閱讀:160 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“Redis如何使用RedisTemplate模板類的常用操作方式”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Redis如何使用RedisTemplate模板類的常用操作方式”這篇文章吧。

一、前言

Redis是一個NoSQL(非關系型數據庫)數據庫之一,key-value存儲系統或者說是一個緩存鍵值對數據庫,具有如下特性:

  • 基于內存運行,性能高效

  • 支持分布式,理論上可以無限擴展

  • key-value存儲系統

  • 開源的使用ANSI C語言編寫、遵守BSD協議、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API

主要應用場景包括:

緩存系統、計數器、消息隊列系統、排行榜、社交網絡和實時系統、分布式鎖和發布/訂閱消息等。

而在程序中,對Redis的常用操作有一個專門用于操作Redis的模板類(或API),它就是RedisTemplate。

二、Redis 數據結構簡介

Redis可以存儲鍵與5種不同數據結構類型之間的映射,這5種數據結構類型分別為String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。

下面來對這5種數據結構類型作簡單的介紹:

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

RedisTemplate位于spring-data-redis包下:

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類,實現了RedisOperations泛型鍵值對接口。

使用注解即可引用RedisTemplate:

@Autowired
private RedisTemplate<String,String> redisTemplate;

三、RedisTemplate對5種數據結構的操作

redisTemplate使用如下幾種方法分別針對5種數據結構進行操作:

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

3.1 String字符串操作

//設置key和value值
redisTemplate.opsForValue().set("key","value");
//通過key獲取value值
String result = redisTemplate.opsForValue().get("key").toString();

3.2 list數組操作

//list數組對象和添加數組值
List<String> list = new ArrayList<String>();  
list.add("a1");  
list.add("a2");  
list.add("a3");  
 
//用redisTemplate模板類把list數組集合添加進Redis
redisTemplate.opsForList().leftPush("listkey",list);  
 
//用redisTemplate模板類從Redis中根據key獲取list集合
List<String> resultList = (List<String>)redisTemplate.opsForList().leftPop("listkey");

3.3 Hash結構,map操作

//定義Map集合和類型
Map<String,String> map = new HashMap<String,String>();  
map.put("key1","value1");  
map.put("key2","value2");  
map.put("key3","value3");  
 
//用redis模板類把map設置到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集合操作

//定義一個set集合并設置集合值
SetOperations<String, String> set = redisTemplate.opsForSet();
set.add("set1","22");  
set.add("set1","33");  
set.add("set1","44");  
//通過key獲取set集合中的對象值
Set<String> resultSet = redisTemplate.opsForSet().members("set1");

以上是“Redis如何使用RedisTemplate模板類的常用操作方式”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万年县| 诸城市| 错那县| 石城县| 绵竹市| 凤凰县| 东明县| 平乡县| 库尔勒市| 南充市| 内黄县| 偏关县| 大英县| 南安市| 白水县| 丰县| 堆龙德庆县| 瑞金市| 礼泉县| 呼伦贝尔市| 汶川县| 玛多县| 娄烦县| 章丘市| 徐汇区| 阿拉善左旗| 丘北县| 宁强县| 东莞市| 南川市| 萍乡市| 高唐县| 潞城市| 城口县| 青浦区| 永昌县| 平昌县| 永清县| 绥德县| 阿巴嘎旗| 柯坪县|