青海網(wǎng)站維護(hù)網(wǎng)紅推廣
1、字符串類型
字符串類型相當(dāng)于 java 中的 String 類型。Redis 中的 String?類型以二進(jìn)制方式存儲(chǔ),不會(huì)做任何的編碼轉(zhuǎn)換,因此不僅僅可以存儲(chǔ)文本數(shù)據(jù)、整數(shù)、普通的字符串、JSON、xml文件,還可以存儲(chǔ)圖片、視頻、音頻。String 存儲(chǔ)的種類雖然很多,但是限制了 String?的大小,最多只能存儲(chǔ) 512MB。
這里的?key 和 value 就是字符串類型。
在 Redis 中,當(dāng)你重新 set 一個(gè)已經(jīng)存在的 key 時(shí),它的 value 會(huì)變成最新的 value。
String的基本命令
SET:存儲(chǔ)一個(gè) string 類型的 value
SETNX:當(dāng) key 不存在時(shí),存儲(chǔ)一個(gè) string 類型的 value,key 存在時(shí),則無效
GET:獲取一個(gè) key 的 value
MGET:一次操作獲取多個(gè) key 的 value
2、散列(哈希)類型
哈希類型相當(dāng)于 java 中的 HashMap 類型。Redis 的散列是結(jié)構(gòu)化為字段-值對(duì)集合的記錄類型??梢允褂蒙⒘斜硎净緦?duì)象和存儲(chǔ)計(jì)數(shù)器分組等。如下圖所示:
散列的基本命令
HSET:設(shè)置一個(gè) hash 中的一個(gè)或多個(gè)字段
HGET:返回給定字段的值
HMGET:返回給定的一個(gè)或者多個(gè)字段的值
HINCRBY:將給定字段的值增加所提供的整數(shù)
3、列表類型
Redis 中的列表是字符串值的鏈表,它通常被用于:
1. 實(shí)現(xiàn)堆棧和隊(duì)列
2. 為后臺(tái)工作者系統(tǒng)構(gòu)建隊(duì)列管理
列表的基本命令
LPUSH:在列表的頭部添加一個(gè)新的元素
RPUSH:在列表的尾部添加一個(gè)新的元素
LPOP:刪除列表頭部的元素,并且將該元素作為返回值返回
RPOP:刪除列表尾部的元素,并且將該元素作為返回值返回
LLEN:返回列表的長(zhǎng)度
LMOVE:原子地將元素從一個(gè)列表移動(dòng)到另一個(gè)列表
LTRIM:將列表減少到指定的元素范圍
4、集合類型
Redis 的集合是一個(gè)唯一的字符串組成的無序集合,它可以應(yīng)用在以下場(chǎng)景:
1. 跟蹤唯一的項(xiàng)目(例如,跟蹤訪問給定的博客文章的所有的唯一 IP 地址)
2. 表示關(guān)系(例如,具有給定角色的所有用戶的集合)
3. 執(zhí)行公共集合操作,如交集、聯(lián)合和差
集合的基本命令
SADD:向 set 中添加一個(gè)新成員
SREM:從 set 中移除指定的成員
SISMEMBER:檢測(cè)一個(gè)字符串是不是 set 中的成員
SINTER:返回兩個(gè)或多個(gè)集合共有的成員集(即交集)
SCARD:返回 set 的大小
5、有序集合
Redis 的有序集合是按相關(guān)分?jǐn)?shù)排序的唯一字符串(成員)的集合。當(dāng)多個(gè)字符串具有相同的分?jǐn)?shù)時(shí),字符串按字典順序排列。有序集合的一些用例包括:
1.?排行榜:例如,我們可以使用有序集合來輕松地維護(hù)大型在線游戲中最高分的有序列表。
2.?限價(jià)器:特別是,我們可以使用有序集合來構(gòu)建滑動(dòng)窗口速率限制器,以防止過多的 API 請(qǐng)求。
有序集合的基本命令
ZADD:添加一個(gè)新的成員和與之有關(guān)的分?jǐn)?shù)到有序集合中,如果這個(gè)成員已經(jīng)存在,那么更新該成員的分?jǐn)?shù)
ZRANGE:返回在給定的范圍內(nèi),排好序的有序集合的成員
ZRANK:返回指定的成員的排名,假設(shè)排序順序?yàn)樯?/p>
ZREVRANK:返回指定的成員的排名,假設(shè)排序順序?yàn)榻敌?/p>