Redis 常用的数据类型及用法
2024-01-09 19:10:56
1. 字符串(Strings)
字符串是最基本的 Redis 数据类型。它可以包含任何形式的数据,比如文本、数字或二进制数据。
基本用法:
- 设置值:?
SET key value
- 获取值:?
GET key
- 删除键:?
DEL key
- 自增:?
INCR key
- 追加值:?
APPEND key value
示例:
# 设置一个键 "mykey" 对应字符串 "Hello"
SET mykey "Hello"
# 获取 "mykey" 的值
GET mykey
# 输出: "Hello"
# 将 "mykey" 自增(这将返回错误,因为值不是整数)
INCR mykey
# 追加字符串 " World" 到 "mykey"
APPEND mykey " World"
# 再次获取 "mykey" 的值
GET mykey
# 输出: "Hello World"
2. 列表(Lists)
列表是简单的字符串链表,按照插入顺序排序。
基本用法:
- 左侧推入:?
LPUSH key value
- 右侧推入:?
RPUSH key value
- 左侧弹出:?
LPOP key
- 右侧弹出:?
RPOP key
- 获取列表:?
LRANGE key start stop
示例:
# 在 "mylist" 的左侧推入值 "world"
LPUSH mylist "world"
# 在 "mylist" 的左侧推入另一个值 "hello"
LPUSH mylist "hello"
# 获取 "mylist" 的所有元素
LRANGE mylist 0 -1
# 输出: 1) "hello" 2) "world"
# 在 "mylist" 的右侧推入值 "!"
RPUSH mylist "!"
# 弹出 "mylist" 的右侧元素
RPOP mylist
# 输出: "!"
3. 集合(Sets)
集合是字符串的无序收集,并且每个元素都是唯一的。
基本用法:
- 添加元素:?
SADD key member [member ...]
- 移除元素:?
SREM key member [member ...]
- 获取集合所有成员:?
SMEMBERS key
- 检测存在性:?
SISMEMBER key member
示例:
# 向 "myset" 添加元素 "Hello"
SADD myset "Hello"
# 向 "myset" 添加元素 "World"
SADD myset "World"
# 获取 "myset" 的所有成员
SMEMBERS myset
# 输出: 1) "Hello" 2) "World"
# 检查 "myset" 是否包含 "Hello"
SISMEMBER myset "Hello"
# 输出: (integer) 1
# 移除 "myset" 中的 "World"
SREM myset "World"
4. 有序集合(Sorted Sets)
有序集合与集合类似,但是每个成员都会关联一个浮点数分数,Redis 正是通过分数来为集合中的成员进行从小到大的排序。
基本用法:
- 添加元素:?
ZADD key score member [score member ...]
- 获取元素:?
ZRANGE key start stop [WITHSCORES]
- 删除元素:?
ZREM key member [member ...]
- 获取元素排名:?
ZRANK key member
- 获取元素逆序排名:?
ZREVRANK key member
示例:
# 向 "mysortedset" 添加元素 "one" 与分数 1
ZADD mysortedset 1 "one"
# 向 "mysortedset" 添加元素 "two" 与分数 2
ZADD mysortedset 2 "two"
# 获取 "mysortedset" 所有元素(默认按分数升序)
ZRANGE mysortedset 0 -1 WITHSCORES
# 输出: 1) "one" 2) "1" 3) "two" 4) "2"
# 获取元素 "one" 在 "mysortedset" 中的排名
ZRANK mysortedset "one"
# 输出: (integer) 0
# 从 "mysortedset" 中删除元素 "one"
ZREM mysortedset "one"
5. 哈希(Hashes)
哈希是字符串字段和字符串值之间的映射表,是存储对象的理想方式。
基本用法:
- 设置字段值:?
HSET key field value
- 获取字段值:?
HGET key field
- 删除字段:?
HDEL key field
- 获取所有字段值:?
HGETALL key
- 检测字段存在性:?
HEXISTS key field
示例:
# 向名为 "user:1000" 的哈希中添加字段 "name" 和 "age"
HSET user:1000 name "Alice"
HSET user:1000 age "30"
# 获取 "user:1000" 中 "age" 字段的值
HGET user:1000 age
# 输出: "30"
# 获取 "user:1000" 的所有字段和值
HGETALL user:1000
# 输出: 1) "name" 2) "Alice" 3) "age" 4) "30"
# 检查 "user:1000" 是否有 "name" 字段
HEXISTS user:1000 name
# 输出: (integer) 1
# 删除 "user:1000" 中的 "age" 字段
HDEL user:1000 age
这些是 Redis 中最常用的五种数据类型。Redis 还支持其他一些复杂的数据结构,如位图(bitmaps)、地理空间索引(geospatial indexes)和流(streams),这些类型对于特定的应用场景非常有用。
文章来源:https://blog.csdn.net/jkzyx123/article/details/135485435
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!