Redis支持多种数据结构,以下是一些常用的数据结构及其用法示例:
-
字符串(String):字符串是最基本的数据结构,可以存储任意类型的数据。常见的用法包括缓存数据、计数器等。
示例:
SET key value // 设置键为key,值为value的字符串 GET key // 获取键为key的字符串的值
-
哈希表(Hash):哈希表适用于存储对象,以字段-值对的形式存储。常见的用法包括存储用户信息、配置信息等。
示例:
HSET user:id name Tom // 在哈希表user:id中设置name字段的值为Tom HGET user:id name // 获取哈希表user:id中name字段的值
-
列表(List):列表是一个有序的字符串列表,允许在头部和尾部添加、删除元素。常见的用法包括消息队列、任务队列等。
示例:
LPUSH mylist value1 // 在列表mylist的头部插入元素value1 RPUSH mylist value2 // 在列表mylist的尾部插入元素value2 LPOP mylist // 移除并返回列表mylist的头部元素
-
集合(Set):集合是一个无序、不重复的字符串集合。常见的用法包括标签、好友关系等。
示例:
SADD tags tag1 // 向集合tags添加元素tag1 SMEMBERS tags // 获取集合tags中的所有元素
-
有序集合(Sorted Set):有序集合是一个有序的、不重复的字符串集合,每个成员关联一个分数,按照分数的顺序排序。常见的用法包括排行榜、最新消息列表等。
示例:
ZADD leaderboard 100 user1 // 向有序集合leaderboard添加元素user1,分数为100 ZRANGE leaderboard 0 -1 WITHSCORES // 获取有序集合leaderboard的所有元素及其分数
除了以上几种常用的数据结构,Redis还支持位图(Bitmap)、地理空间索引(Geospatial Index)等特殊的数据结构,可以满足更多特定的需求。根据实际需求,选择适合的数据结构可以发挥 Redis 的优势。