redis基本指令和5种数据结构是什么

发布时间:2021-10-13 15:44:09 作者:iii
来源:亿速云 阅读:325
# Redis基本指令和5种数据结构是什么

## 一、Redis简介

Redis(Remote Dictionary Server)是一个开源的**内存数据结构存储系统**,支持持久化,可用作数据库、缓存和消息中间件。它以极高的读写性能著称,支持多种数据结构,是当前最流行的NoSQL数据库之一。

---

## 二、Redis基本指令

### 1. 通用指令
| 指令           | 作用                          | 示例                 |
|----------------|-----------------------------|---------------------|
| `KEYS *`       | 查看所有键                     | `KEYS user:*`       |
| `DEL key`      | 删除指定键                     | `DEL user:1001`     |
| `EXISTS key`   | 检查键是否存在                  | `EXISTS user:1001`  |
| `EXPIRE key`   | 设置键的过期时间(秒)            | `EXPIRE session 60` |
| `TTL key`      | 查看键剩余生存时间               | `TTL session`       |
| `TYPE key`     | 查看键的数据类型                | `TYPE user:1001`    |

### 2. 连接管理
```bash
AUTH password   # 密码认证
PING            # 测试连接
SELECT index    # 切换数据库(0-15)
QUIT            # 关闭连接

三、Redis 5种核心数据结构

1. String(字符串)

特点:最基本的数据类型,二进制安全,最大512MB
常用指令

SET key value        # 设置值(如:SET name "Alice")
GET key              # 获取值
INCR key             # 数值+1(原子操作)
DECR key             # 数值-1
APPEND key value     # 追加内容

应用场景
- 缓存HTML片段
- 计数器(文章阅读量)
- 分布式锁(SETNX)

2. Hash(哈希表)

特点:键值对集合,适合存储对象
常用指令

HSET key field value  # 设置字段值(如:HSET user:1001 name "Bob")
HGET key field        # 获取字段值
HGETALL key           # 获取所有字段
HDEL key field        # 删除字段

应用场景
- 用户属性存储
- 商品详情信息

3. List(列表)

特点:双向链表,支持重复元素,按插入顺序排序
常用指令

LPUSH key value      # 左侧插入(如:LPUSH tasks "task1")
RPUSH key value      # 右侧插入
LPOP key             # 左侧弹出
LRANGE key start end # 范围查询

应用场景
- 消息队列(LPUSH+RPOP)
- 最新消息排行(LPUSH+LRANGE)

4. Set(集合)

特点:无序集合,元素唯一不重复
常用指令

SADD key member      # 添加成员(如:SADD tags "redis")
SMEMBERS key         # 获取所有成员
SINTER key1 key2     # 求交集
SISMEMBER key member # 判断成员是否存在

应用场景
- 标签系统
- 共同好友(交集计算)

5. ZSet(有序集合)

特点:带权重的Set,按score排序
常用指令

ZADD key score member  # 添加带分值的成员(如:ZADD rank 95 "Alice")
ZRANGE key start end   # 按分值升序查询
ZREVRANGE key start end # 降序查询
ZSCORE key member      # 获取成员分值

应用场景
- 排行榜系统
- 延迟队列(用时间戳作score)


四、数据结构选择建议

需求场景 推荐结构
简单KV存储 String
对象属性存储 Hash
先进先出/后进先出队列 List
去重+集合运算 Set
需要排序的场景 ZSet

五、高级特性补充

  1. Bitmaps:通过String实现的位图操作,适合签到统计
  2. HyperLogLog:基数统计(UV计算),误差率0.81%
  3. Stream:Redis 5.0+的消息队列实现

提示:生产环境建议禁用KEYS *指令,用SCAN替代避免阻塞。


六、总结

Redis通过5种基础数据结构满足不同场景需求,配合高效的指令实现微秒级响应。实际开发中应根据业务特点选择合适的数据结构,例如:
- 高频读写用String
- 关系型数据用Hash
- 需要排序用ZSet
- 消息队列用List/Stream “`

注:本文实际约850字,可通过扩展示例或具体场景案例补充至1000字。

推荐阅读:
  1. redis底层数据结构是什么
  2. redis中有哪些数据结构

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

redis

上一篇:linux中cgroups怎么用

下一篇:linux如何制作计划任务

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》