1. String (字符串)
使用场景:
存储用户会话信息:例如用户登录状态、登录令牌等。
缓存对象:如公寓详情、配置信息等。
常用方法:
SET key value: 设置指定 key 的值。
GET key: 获取指定 key 的值。
DEL key: 删除指定 key。
EXPIRE key seconds: 设置 key 的过期时间,以实现缓存失效。
MOVE key:移动key
EXISTS key: 判断当前的key是否存在
TYPE key: 查看当前key的类型
APPEND追加字符串
STRLEN获取字符串的长度
INCR值自增 DECR值自减
INCRBY/DECRBY 设置步长,指定增减量
GETRANGE 获取指定范围的字符串
SETRANGE 字符串替换
SETEX (set with expire) 设置过期时间
SETNX (set if not exist) 不存在再设置(在分布式锁中会常常使用)
MSET批量设置值 MGET批量获取值
2. Hash (哈希表)
使用场景:
存储和获取对象的多个字段:如用户信息、公寓详细信息等。
常用方法:
HSET key field value: 设置 key 对应的哈希表中指定字段的值。
HGET key field: 获取 key 对应的哈希表中指定字段的值。
HGETALL key: 获取 key 对应的哈希表中所有字段和值。
HMSET批量设置值
HLEN 获取hash表的字段数量
HDEL 删除hash指定key字段,对应的value值也就消失
HEXISTS 判断hash中指定字段是否存在
HKEYS只获得所有field,HVALS只获得所有value
HINCRBY设置增量,若是正数则增加,若是负数则减少
HSETNX 设置值时,若key已存在则失败返回0,不存在则成功返回1
3. List (列表)
使用场景:
存储公寓项目中的事件流或动态数据:如评论列表、消息队列等需要保持顺序的数据。
常用方法:
LPUSH key value: 将一个或多个值插入到列表头部。
RPUSH key value: 将一个或多个值插入到列表尾部。
LPOP key: 移除并返回列表的第一个元素。
RPOP key: 移除并返回最右边元素
LRANGE key start stop: 获取列表指定范围内的元素。
LINDEX 通过下标获取值
LLEN 返回列表的长度
LREM 移除指定的值
LTRIM 截取
RPOPLPUSH 移除原列表的最右边元素,并添加到新列表的最左边
LSET 更新当前下标的值,若当前列表不存在更新则会报错
LINSET 将某个具体的value插入到列表中某个元素的前面或者后面
4. Set (集合)
使用场景:
存储唯一值集合:如公寓标签、用户点赞列表等需要去重的数据。
常用方法:
SADD key member: 将一个或多个成员加入到集合中。
SMEMBERS key: 返回集合中的所有成员。
SISMEMBER key member: 检查成员是否存在于集合中。
SREM key member: 从集合中移除指定成员。
SCARD 获取集合中的内容元素个数
SREM 移除set集合中的指定元素
SRANDMEMBER 随机抽选出一个元素
SPOP 删除key,随机删除key
SMOVE 将一个指定的值,移动到另外一个set集
5. Zset (有序集合)
使用场景:
存储需要按分数排序的数据:如公寓评分、用户排行榜等。
常用方法:
ZADD key score member: 将一个成员及其对应的分数加入到有序集合中。
ZRANGEBYSCORE 实现升序
ZREVRANGEBYSCORE 实现降序
ZSCORE key member: 返回有序集合中,成员的分数值。
ZREM 移除
ZCARD获取有序集合中元素的个数
ZCOUNT获取集合中指定区间的元素个数