基本操作
当使用Redis时,我们通常会涉及到五种不同的数据类型,分别是字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)以及有序集合(Sorted Sets)。下面将分别介绍它们的增删改查操作以及对应的redis-cli命令。
字符串(Strings)
字符串是Redis支持最基本的一种数据类型。在Redis中,字符串类型的值可以是任何一个二进制安全(binary safe)的字符串,包括另外一个字符串。
- 新增:
SET key value
- 删除:
DEL key
- 查询:
GET key
- 修改:
SET key new_value
例如:
|
|
哈希(Hashes)
哈希是一个键值对集合。在Redis中,相当于一个表格,其中每个键都映射到一个值。
- 新增:
HSET key field value
- 删除:
HDEL key field
删除哈希表键 key 中的一个或多个指定字段,不存在的字段将被忽略 - 查询:
HGET key field
返回哈希表 key 中给定域 field 的值HGETALL key
返回哈希表 key 中,所有的域和值
- 修改:
HSET key field new_value
例如:
|
|
列表(Lists)
列表就是链表,Redis列表是一个双向链表,它可以由最多 4,294,967,295个元素组成,每个元素都是一个字符串。
- 新增:
LPUSH key value1 [value2]
将一个或多个值 value 插入到列表 key 的表头RPUSH key value1 [value2]
将一个或多个值 value 插入到列表 key 的表尾
- 删除:
LPOP key
移除并返回列表 key 的头元素,当 key 不存在时,返回 nil - 查询:
LRANGE key start stop
返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定,包含 start 和 stop 的元素LLEN key
返回列表 key 的长度
- 修改:
LSET key index new_value
将列表 key 下标为 index 的元素的值设置为 new_value
例如:
|
|
集合(Sets)
集合是一些无序且唯一的元素的组合。在Redis中,集合的实现非常类似于列表。
- 新增:
SADD key member1 [member2]
将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略 - 删除:
SPOP key
随机地移除并返回集合中的一个元素,如果集合为空,返回 nil - 查询:
SMEMBERS key
返回集合 key 中的所有成员,不存在的集合 key 被视为空集合SCARD key
返回集合 key 的基数 (集合中元素的数量)
- 修改:
SREM key member1 [member2]
移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略
例如:
|
|
有序集合(Sorted Sets)
有序集合跟集合一样也是字符串类型元素的集合,但是每个元素都会关联一个分数,有序集合的成员会按照分数排序。
- 新增:
ZADD key score1 member1 [score2 member2]
将一个或多个 member 元素及其 score 值加入到有序集 key 当中 - 删除:
ZREM key member1 [member2]
移除有序集 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略 - 查询:
ZRANGE key start stop [WITHSCORES]
返回有序集 key 中,指定区间内的成员。其中成员的位置按分数值递增(从小到大)来排序。具有相同分数值的成员按字典序来排列ZCARD key
返回有序集 key 的基数
- 修改:
ZINCRBY key increment member
有序集 key 中,成员 member 的 score 值加上增量 increment
例如:
|
|
上述命令都可以在redis-cli命令行中进行操作。可以通过redis-cli命令连接到Redis服务器,并在命令行中输入相应的命令来操作Redis数据库。
获取kv数据类型
可以使用Redis命令TYPE key
获取一个键对应值的数据类型。该命令将返回值的数据类型,例如字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)等。
例如:
|
|