一、redis的數(shù)據(jù)類型
概述
使用Redis進行應(yīng)用設(shè)計和開發(fā)的一個核心概念是數(shù)據(jù)類型。與關(guān)系數(shù)據(jù)庫不同,在Redis中不存在需要我們擔(dān)心的表炼蛤,在使用Redis進行應(yīng)用設(shè)計和開發(fā)時,我們首先應(yīng)該考慮的是Redis原生支持的哪種數(shù)據(jù)類型陽適合我們的應(yīng)該場景蝶涩,此外理朋,我們無法像在關(guān)系數(shù)據(jù)庫中那樣,使用sql來操作Redis中的數(shù)據(jù)子寓,相反暗挑,我們需要直接使用API發(fā)送數(shù)據(jù)反對應(yīng)的命令笋除,來操作想要操作的數(shù)據(jù)
1斜友、字符串類型Map<String,String>
字符串類型是編程語言和應(yīng)用程序中最常見和最有用的數(shù)據(jù)類型,也是Redis的基本數(shù)據(jù)類型之一垃它,事實上鲜屏,Redis中所有鍵都必須是字符串。
2国拇、list數(shù)據(jù)類型Map<String,List<Object>>
列表是應(yīng)用我只是應(yīng)該程序開發(fā)中非常有用的數(shù)據(jù)類型之一洛史,列表能存在一組對象,因此它也可以被用于椊戳撸或者隊列也殖,在Redis中,與鍵相關(guān)的聯(lián)的值可以是字符串組成的列表,Redis中的列表更像是數(shù)據(jù)結(jié)構(gòu)中的雙向鏈表忆嗜。
3己儒、hash數(shù)據(jù)類型Map<String,Map<Object,Object>>
哈希表示字段和值之間的映射關(guān)系,與JAVA中的Map類似捆毫,Redis數(shù)據(jù)集本身就可以看做一個哈希闪湾,其中字符串類型的鍵關(guān)聯(lián)到如字符串和列表之類的數(shù)據(jù)對象,而Reidis的數(shù)據(jù)對象也可以再次使用哈希绩卤,其字段和值必須 是字符串途样。
4、set數(shù)據(jù)類型Map<String,Set<Object,Object>>
集合類型是由唯一濒憋,無序?qū)ο蠼M成的集合(collection).它經(jīng)常用于測試某個成員是集合中何暇,重復(fù)項刪除和集合運算(求并,交跋炕,差集)赖晶,Redis的值對象可以是字符串集合。
5辐烂、zset(sortset)數(shù)據(jù)類型
有序集合是一個類似于set但是更復(fù)雜的數(shù)據(jù)類型,單詞sorted意為著這種集合中的每個元素都有一個可用于排序的權(quán)重遏插,并且我們可以按順序從集合中得到元素在某些需要一個保持數(shù)據(jù)有序的場景中,使用這種原生的序的特性是很方便的纠修。