redis支持多種數(shù)據(jù)類型,每種類型具有獨特結(jié)構(gòu):字符串:字節(jié)數(shù)組,可追加、修改和獲取范圍數(shù)據(jù)。列表:有序字節(jié)數(shù)組序列,可添加/彈出元素,獲取/修改索引元素。哈希:鍵值對集合,可設(shè)置/獲取/刪除鍵值對,獲取所有鍵/值。集合:無序、唯一元素集合,可添加/刪除元素,獲取所有元素,求交集/并集。有序集合:有序鍵值對集合,可添加/刪除鍵值對,獲取鍵分?jǐn)?shù),獲取指定分?jǐn)?shù)或鍵的范圍數(shù)據(jù)。
Redis 數(shù)據(jù)類型及其結(jié)構(gòu)特性
Redis 是一種內(nèi)存數(shù)據(jù)庫,它支持多種數(shù)據(jù)類型,每種數(shù)據(jù)類型都有其獨特的結(jié)構(gòu)特性。
字符串(String)
結(jié)構(gòu):由一個字節(jié)數(shù)組組成,可以存儲任意數(shù)據(jù)。
特性:
可以通過 APPEND 命令追加數(shù)據(jù)。
可以通過 SETRANGE 命令修改數(shù)據(jù)。
可以通過 GETRANGE 命令獲取指定范圍的數(shù)據(jù)。
列表(List)
結(jié)構(gòu):一個有序的字節(jié)數(shù)組序列,每個元素可以是任意數(shù)據(jù)。
特性:
可以通過 LPUSH/RPUSH 命令將元素添加到列表開頭/結(jié)尾。
可以通過 LPOP/RPOP 命令從列表開頭/結(jié)尾彈出元素。
可以通過 LINDEX/LSET 命令獲取/修改列表中的元素。
哈希(Hash)
結(jié)構(gòu):一個鍵值對集合,其中鍵是一個字符串,值可以是任意數(shù)據(jù)。
特性:
可以通過 HSET/HGET 命令設(shè)置/獲取鍵值對。
可以通過 HDEL 命令刪除鍵值對。
可以通過 HKEYS/HVALS 命令獲取所有鍵/值。
集合(Set)
結(jié)構(gòu):一個無序的、唯一元素集合。
特性:
可以通過 SADD/SREM 命令添加/刪除元素。
可以通過 SMEMBERS 命令獲取集合中的所有元素。
可以通過 SINTER/SUNION 命令求交集/并集。
有序集合(Sorted Set)
結(jié)構(gòu):一個有序的鍵值對集合,其中鍵是一個字符串,值是一個浮點數(shù)分?jǐn)?shù)。
特性:
可以通過 ZADD/ZREM 命令添加/刪除鍵值對。
可以通過 ZSCORE 命令獲取鍵的分?jǐn)?shù)。
可以通過 ZRANGE/ZREVRANGE 命令獲取指定范圍的分?jǐn)?shù)或鍵。