一、字符串類型
字符串類型是redis中最基本的數據類型,它可以存儲任何形式的數據,例如數字、文本、圖片等等。字符串類型最大的特點就是其操作非常快速,且redis對字符串類型的支持非常豐富。
下面是一個基本的字符串類型的示例:
redis> set key value OK redis> get key "value"
除了上述最基本的設置、獲取操作外,還有很多其他的操作,例如追加(append)、獲取子字符串(getrange)、設置並返回原值(getset)等等。
字符串類型的應用場景很廣泛,例如緩存、計數器等等。
二、列表類型
列表類型是一種有序、可重複的數據結構,其內部元素是一個個字符串類型的值,不同的是列表類型在插入、刪除操作上非常方便。
下面是一個基本的列表類型的示例:
redis> lpush list1 value1 1 redis> rpush list1 value2 2 redis> lrange list1 0 -1 1) "value1" 2) "value2"
上述操作表示向列表類型的「list1」中分別插入了「value1」和「value2」,然後通過lrange命令獲取了整個列表的值。
除了基本的插入、刪除操作之外,還有很多其他的操作,例如將列表中的元素進行修剪(ltrim)、插入元素到指定元素前方或後方(linsert)等等。
列表類型的應用場景也很廣泛,例如消息隊列、歷史記錄等等。
三、哈希類型
哈希類型是一種鍵值對存儲的數據結構,其中的鍵和值都是字符串類型的值。與其他的鍵值對存儲方式不同的是,哈希類型內部是一個個的鍵值對集合。
下面是一個基本的哈希類型的示例:
redis> hset hash1 key1 value1 1 redis> hset hash1 key2 value2 1 redis> hgetall hash1 1) "key1" 2) "value1" 3) "key2" 4) "value2"
上述操作表示向哈希類型的「hash1」中分別插入了鍵值對「key1-value1」和「key2-value2」,然後通過hgetall命令獲取了整個哈希類型的值。
除了基本的插入、刪除操作之外,還有很多其他的操作,例如獲取所有鍵(hkeys)、獲取所有值(hvals)等等。
哈希類型的應用場景也很廣泛,例如用戶信息、商品屬性等等。
四、集合類型
集合類型是一種無序、不重複的數據結構,其中的元素都是字符串類型的值。與其他的集合類型不同的是,集合類型內部元素是不允許重複的。
下面是一個基本的集合類型的示例:
redis> sadd set1 value1 1 redis> sadd set1 value2 1 redis> smembers set1 1) "value1" 2) "value2"
上述操作表示向集合類型的「set1」中分別插入了「value1」和「value2」,然後通過smembers命令獲取了整個集合類型的值。
除了基本的插入、刪除操作之外,還有很多其他的操作,例如返回集合中元素的個數(scard)、求多個集合的交集(sinter)等等。
集合類型的應用場景也很廣泛,例如好友列表、標籤等等。
五、有序集合類型
有序集合類型是一種有序、不重複的數據結構,其中的元素都是字符串類型的值。與其他的有序集合類型不同的是,有序集合類型內部元素是按照一定分值順序排列的。
下面是一個基本的有序集合類型的示例:
redis> zadd zset1 1 value1 1 redis> zadd zset1 2 value2 1 redis> zrange zset1 0 -1 1) "value1" 2) "value2"
上述操作表示向有序集合類型的「zset1」中分別插入了分值為1的「value1」和分值為2的「value2」,然後通過zrange命令獲取了整個有序集合類型的值。
除了基本的插入、刪除操作之外,還有很多其他的操作,例如返回分值在指定範圍內的元素(zrangebyscore)、求多個有序集合的交集(zinterstore)等等。
有序集合類型的應用場景也很廣泛,例如排行榜、帶權值的標籤等等。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/284654.html