Redis(REmote DIctionary Server)是一个开源的、内存中的数据结构存储系统,它支持多种数据结构,如字符串、列表、集合、散列、有序集合等。

Redis 中的一些常用数据类型及其基本使用方法:

  1. 字符串(String)

    • 基本命令:

      • SET key value: 设置指定 key 的值。

      • GET key: 获取指定 key 的值。

      • DEL key: 删除指定 key 及其值。

    • 应用场景

      • 缓存:存储数据库查询结果、API 响应等,以减少重复计算。

      • 计数器:实现网站的访问计数、点赞数等。

      • 分布式锁:使用 SETNX(设置值,仅当键不存在时)实现分布式锁。

  2. 列表(List)

    • 基本命令:

      • LPUSH key value1 [value2 ...]: 在列表头部插入一个或多个值。

      • RPUSH key value1 [value2 ...]: 在列表尾部插入一个或多个值。

      • LPOP key: 移除并返回列表的头元素。

      • RPOP key: 移除并返回列表的尾元素。

      • LRANGE key start stop: 获取列表指定范围内的元素。

    • 应用场景:

      • 消息队列:使用 LPUSH 和 RPOP 或其他列表操作命令实现简单的消息队列。

      • 最新消息排行:保存最新的 N 条消息。

      • 任务队列:存储待处理的任务或作业。

  3. 集合(Set)

    • 基本命令:

      • SADD key member1 [member2 ...]: 向集合添加一个或多个成员。

      • SREM key member1 [member2 ...]: 从集合中删除一个或多个成员。

      • SMEMBERS key: 返回集合中的所有成员。

      • SISMEMBER key member: 检查成员是否存在于集合中。

    • 应用场景:

      • 唯一值存储:确保集合中的所有值都是唯一的。

      • 共同好友/兴趣等比较:比较两个用户的兴趣或共同的朋友。

      • 数据筛选:使用交集、并集和差集操作筛选数据。

  4. 散列(Hash)

    • 基本命令:

      • HSET key field value: 设置散列字段的值。

      • HGET key field: 获取散列字段的值。

      • HDEL key field1 [field2 ...]: 删除一个或多个散列字段。

      • HGETALL key: 获取散列的所有字段及其值。

  5. 有序集合(Sorted Set)

    • 基本命令:

      • ZADD key score1 member1 [score2 member2 ...]: 向有序集合添加一个或多个成员,同时指定分数。

      • ZREM key member1 [member2 ...]: 从有序集合中删除一个或多个成员。

      • ZRANGE key start stop [WITHSCORES]: 获取有序集合中指定范围的成员。

      • ZSCORE key member: 获取成员的分数。

    • 应用场景:

      • 排行榜:按分数排序的用户积分、文章热度等排行榜。

      • 范围查询:获取指定分数范围内的成员,如价格范围内的商品。

      • 实时热门内容:根据有序集合的分数更新热门内容。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注