Redis 提供了多種高級(jí)數(shù)據(jù)類型,包括列表(List)、集合(Set)、有序集合(Sorted Set)、哈希表(Hash)和地理空間索引(Geospatial Index)。下面是關(guān)于如何使用這些高級(jí)數(shù)據(jù)類型的簡(jiǎn)要說明:
列表是一種雙向鏈表結(jié)構(gòu),可以在兩端進(jìn)行插入和刪除操作??梢允褂?LPUSH
和 RPUSH
命令在列表頭部添加元素,使用 LPOP
和 RPOP
命令在列表尾部添加元素。例如:
# 在列表頭部添加元素
LPUSH mylist value1
# 在列表尾部添加元素
RPUSH mylist value2
# 從列表頭部彈出元素
LPOP mylist
# 從列表尾部彈出元素
RPOP mylist
集合是一種無序且不重復(fù)的數(shù)據(jù)結(jié)構(gòu),可以使用 SADD
命令添加元素,使用 SREM
命令刪除元素,使用 SMEMBERS
命令獲取集合中的所有元素。例如:
# 添加元素到集合
SADD myset value1
# 從集合中刪除元素
SREM myset value1
# 獲取集合中的所有元素
SMEMBERS myset
有序集合是一種有序且不重復(fù)的數(shù)據(jù)結(jié)構(gòu),每個(gè)元素都有一個(gè)分?jǐn)?shù)(score),可以使用 ZADD
命令添加元素,使用 ZREM
命令刪除元素,使用 ZRANGE
命令獲取有序集合中的指定范圍內(nèi)的元素。例如:
# 添加元素到有序集合,并設(shè)置分?jǐn)?shù)
ZADD myzset value1 1
# 從有序集合中刪除元素
ZREM myzset value1
# 獲取有序集合中的指定范圍內(nèi)的元素
ZRANGE myzset 0 1
哈希表是一種鍵值對(duì)(key-value)結(jié)構(gòu),可以使用 HSET
命令設(shè)置鍵值對(duì),使用 HGET
命令獲取鍵對(duì)應(yīng)的值,使用 HDEL
命令刪除鍵值對(duì)。例如:
# 設(shè)置鍵值對(duì)
HSET myhash field1 value1
# 獲取鍵對(duì)應(yīng)的值
HGET myhash field1
# 刪除鍵值對(duì)
HDEL myhash field1
Redis 支持地理空間索引,可以使用 GEOADD
命令添加地理空間對(duì)象,使用 GEORADIUS
命令查詢指定范圍內(nèi)的地理空間對(duì)象,使用 GEOHASH
命令獲取地理空間對(duì)象的哈希值。例如:
# 添加地理空間對(duì)象
GEOADD mygeohash location1 130.6586 35.6892
# 查詢指定范圍內(nèi)的地理空間對(duì)象
GEORADIUS mygeohash 100 km
# 獲取地理空間對(duì)象的哈希值
GEOHASH mygeohash location1