当前位置: 首页 > 数据应用 > Redis

Redis的五种数据类型及其存取方法

时间:2023-06-28 23:18:58 Redis

Redis是一种高性能的键值型数据库,它支持五种数据类型:字符串(string)、列表(list)、集合(set)、有序集合(sorted set)和哈希(hash)。每种数据类型都有自己的特点和用途,也有相应的命令来存取数据。本文将介绍每种数据类型的基本概念和常用命令。

字符串(string)是Redis最基本的数据类型,它可以存储任何形式的数据,如文本、数字、二进制等。字符串的最大长度为512MB。字符串可以用于缓存、计数器、分布式锁等场景。字符串的常用命令有:

1.SET key value:设置一个键值对

2.GET key:获取一个键对应的值

3.DEL key:删除一个键值对

4.INCR key:将一个键对应的数字值增加1

5.DECR key:将一个键对应的数字值减少1

6.APPEND key value:将一个值追加到一个键对应的值后面

7.GETRANGE key start end:获取一个键对应的值的子串

列表(list)是一种有序的字符串集合,它可以存储多个字符串元素,每个元素都有一个索引,从0开始。列表可以用于消息队列、最新动态、排行榜等场景。列表的常用命令有:

1.LPUSH key value [value ...]:将一个或多个值插入到列表头部

2.RPUSH key value [value ...]:将一个或多个值插入到列表尾部

3.LPOP key:弹出并返回列表头部的元素

4.RPOP key:弹出并返回列表尾部的元素

5.LLEN key:返回列表的长度

6.LRANGE key start stop:返回列表中指定范围内的元素

7.LINDEX key index:返回列表中指定索引位置的元素

集合(set)是一种无序的字符串集合,它可以存储多个不重复的字符串元素。集合可以用于标签、好友关系、共同喜好等场景。集合的常用命令有:

1.SADD key member [member ...]:将一个或多个元素添加到集合中

2.SREM key member [member ...]:将一个或多个元素从集合中移除

3.SCARD key:返回集合中元素的数量

4.SMEMBERS key:返回集合中所有元素

5.SISMEMBER key member:判断一个元素是否在集合中

6.SINTER key [key ...]:返回多个集合的交集

7.SUNION key [key ...]:返回多个集合的并集

8.SDIFF key [key ...]:返回多个集合的差集

有序集合(sorted set)是一种有序的字符串集合,它可以存储多个不重复的字符串元素,每个元素都有一个分数(score),用于排序。有序集合可以用于排行榜、延时任务、优先队列等场景。有序集合的常用命令有:

1.ZADD key score member [score member ...]:将一个或多个带分数的元素添加到有序集合中

2.ZREM key member [member ...]:将一个或多个元素从有序集合中移除

3.ZCARD key:返回有序集合中元素的数量

4.ZRANGE key start stop [WITHSCORES]:返回有序集合中指定范围内按分数升序排列的元素,可选是否返回分数

5.ZREVRANGE key start stop [WITHSCORES]:返回有序集合中指定范围内按分数降序排列的元素,可选是否返回分数

6.ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]:返回有序集合中指定分数区间内的元素,可选是否返回分数和限制数量

7.ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]:返回有序集合中指定分数区间内的元素,可选是否返回分数和限制数量

8.ZSCORE key member:返回有序集合中指定元素的分数

9.ZINCRBY key increment member:将有序集合中指定元素的分数增加指定值

哈希(hash)是一种键值对的集合,它可以存储多个字段(field)和值(value),每个字段都是一个字符串。哈希可以用于存储对象、配置、缓存等场景。哈希的常用命令有:

1.HSET key field value [field value ...]:将一个或多个字段值对设置到哈希中

2.HGET key field:获取哈希中指定字段的值

3.HDEL key field [field ...]:删除哈希中一个或多个字段

4.HLEN key:返回哈希中字段的数量

5.HGETALL key:返回哈希中所有字段和值

6.HEXISTS key field:判断哈希中是否存在指定字段

7.HINCRBY key field increment:将哈希中指定字段的值增加指定值

8.HMSET key field value [field value ...]:将多个字段值对设置到哈希中

9.HMGET key field [field ...]:获取哈希中多个字段的值