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