Redis 支持多种数据类型,这些数据类型允许你存储和操作不同类型的数据。以下是 Redis 支持的主要数据类型:
- 字符串(Strings):最基本的数据类型,可以存储文本或二进制数据。在 Redis 中,字符串的最大长度为 512 MB。
- 哈希(Hashes):用于存储键值对的散列集合。每个哈希可以包含多个字段和对应的值,适合存储对象或关联数据。
- 列表(Lists):有序的字符串列表,允许在列表的两端进行元素的插入和删除操作。可以用来实现队列或栈等数据结构。
- 集合(Sets):无序的字符串集合,不允许重复元素。可以进行集合操作,如并集、交集和差集。
- 有序集合(Sorted Sets):类似于集合,但每个成员都关联一个分数(score),可以用于排序和排名。有序集合的元素是唯一的,但分数可以重复。
- 地理空间数据(GeoSpatial):Redis 3.2及以上版本支持的数据类型,用于存储地理位置和经纬度信息,并支持地理位置的查询。
1 字符串
# 设置字符串键 "username" 的值为 "Alice"
SET username "Alice"# 获取字符串键 "username" 的值
GET username
# 输出: "Alice"# 自增计数器 "visits"
INCR visits
# 输出: (当前计数值)# 设置带有过期时间的缓存
SET user:1234 "{\"name\": \"Bob\", \"email\": \"bob@example.com\"}" EX 3600
# 设置键 "user:1234" 的值为 JSON 格式的数据,并在 3600 秒后过期# 获取缓存数据
GET user:1234
# 输出: "{\"name\": \"Bob\", \"email\": \"bob@example.com\"}"# 删除某一个键
# DEL key [key ...]
DEL username
# 设置某个键,让它在规定时间内消失
SETEX key seconds value# 方式1
SETEX name 20 "Alice"# 方式2
GETSET name "Alice"
EXPIRE name 20
哈希 hash 操作命令
- HSET key field value 表示 : 将哈希表key中的字段field 的值设置为value
- HGET key field 表示: 获取存储在哈希表中指定字段的值
- HDEL key field 表示: 删除存储在哈希表中的指定字段
- HKEYS key 表示: 获取哈希表中所有的字段
- HVALS key 表示: 获取哈希表中所有的值
- HGETALL key 表示: 获取在哈希表中指定key的所有字段和值
- HEXISTS key field 表示: 检查哈希字段是否存在
- HSET:设置哈希字段的值。
HSET user:123 name "Alice"
这将在名为 “user:123” 的哈希中设置字段 “name” 的值为 “Alice”。
2. HGET:获取哈希字段的值。
HGET user:123 name
这将返回 “user:123” 哈希中字段 “name” 的值,即 “Alice”。
- HMSET:同时设置多个哈希字段及其值。
HMSET user:123 name "Alice" age 30 email "alice@example.com"
这将在 “user:123” 哈希中设置字段 “name” 的值为 “Alice”,字段 “age” 的值为 30,字段 “email” 的值为 “alice@example.com”。
- HDEL:删除一个或多个哈希字段。
HDEL user:123 email
这将从 “user:123” 哈希中删除字段 “email” 及其对应的值.
- HINCRBY:对哈希字段的值执行增量操作。
HINCRBY user:123 age 5
这将将 “user:123” 哈希中字段 “age” 的值增加 5。
- HLEN:获取哈希中字段的数量。
HLEN user:123
列表list的操作命令
- LPUSH key value1 [value2] 将一个或者多个值插入到列表的头部
- RPUSH key value1 将一个或多个元素插入到列表的尾部
- LRANGE key start stop 获取列表中指定范围内的元素
- LLEN key 获取列表的长度(即列表中元素的数量)
- RPOP key 移除并获取列表的最后一个元素
- LPOP key 移除并返回列表的头部元素
- LINDEX key index 获取列表中指定索引位置的元素
- LINSERT key BEFORE|AFTER pivot value : 在列表中指定元素 pivot 的前面或后面插入新元素。
- LSET key index element 设置列表中指定索引位置的元素的值
LTRIM key start stop: 保留列表中指定范围内的元素,其它元素将被删除。
BLPOP key [key …] timeout: 阻塞式地移除并返回多个列表的头部元素,如果列表为空,则在指定的超时时间内等待。
BRPOP key [key …] timeout: 阻塞式地移除并返回多个列表的尾部元素,如果列表为空,则在指定的超时时间内等待。
RPOPLPUSH source destination: 移除 source 列表的尾部元素,并将它添加到 destination列表的头部。
LPOS key element [RANK rank] [COUNT num]: 获取列表中指定元素的索引位置。可选的参数 RANK 可以用来指定从哪个索引开始搜索,COUNT 可以用来指定要返回的匹配元素的数量。
LPUSH root_name zhs
LPUSH root_name wb
LPUSH root_name mhf
查看范围内元素
127.0.0.1:6379> LRANGE root_name 0 2
1) "mhf"
2) "wb"
3) "zhs"