1、字符串
set name Redis
OK
get name
"Redis"
2、哈希
哈希的键值本身是一个键值对结构,类似于`key = {{field, value}, {field, value}}`。
hset myField name Redis
hset myField sql Mysql
hget myField sql
"Mysql"
3、 列表
Redis的列表是一个有序列表,
rpush number 1 2 3
(integer) 3
lpush number 4 5 6
(integer) 6
lrange number 0 5
1) "6"
2) "5"
3) "4"
4) "1"
5) "2"
6) "3"
4、集合
集合类型和列表不同之处在于它是无序的,同时也不支持保存重复的元素。
SADD
命令用于向集合添加一个或多个成员。如果成员已经存在于集合中,则不会重复添加。它的语法如下:SADD key member [member ...]
SINTER
命令用于返回一个或多个集合的交集,即只返回同时存在于所有指定集合中的成员。它的语法如下: SINTER key [key ...]
SADD
:向集合中添加一个或多个成员。SINTER
:返回指定集合之间的交集。
SADD set1 "a" "b" "c"
SADD set2 "b" "c" "d"
SADD set3 "c" "d" "e"SINTER set1 set2 set3
["c"]
// 因为
c
是唯一一个同时存在于set1
、set2
和set3
中的成员。
5、有序集合
有序集合算是Redis中比较特殊的一种数据类型,有序集合里的每个元素都带有一个score属性,通过该score属性进行排序。
ZADD
: 向有序集合添加一个或多个成员,或者更新已经存在成员的分数。
ZADD key score member [score member ...]
ZRANGE
: 根据成员分数从小到大,返回指定区间内的成员。
ZREVRANGE
: 根据成员分数从大到小,返回指定区间内的成员。
ZRANGE key start stop [WITHSCORES]
start
和stop
: 指定范围下标(基于0),可以是负数表示从末尾开始计数。1
表示最后一个元素,-2
表示倒数第二个元素。WITHSCORES
: 可选参数,表示是否同时返回分数。
ZADD leaderboard 100 "Alice"
ZADD leaderboard 200 "Bob"
ZADD leaderboard 150 "Charlie"
ZRANGE leaderboard 0 -1
["Alice", "Charlie", "Bob"]
ZRANGE leaderboard 0 1 WITHSCORES
["Alice", "100", "Charlie", "150"]