Redis 常用指令详解

Redis是一款开源的、高性能的键值对存储数据库,常用于缓存、会话存储以及其他需要快速访问的数据场景。本文将介绍Redis的一些常用指令,并通过代码示例进行说明。

一、连接操作指令

1. 连接 Redis 服务器

bash 复制代码
./redis-cli -h 127.0.0.1 -p 6379

2. 认证(如果设置了密码)

bash 复制代码
AUTH yourpassword

3. 退出 Redis 客户端

bash 复制代码
QUIT

二、数据库操作指令

1. 选择数据库

Redis 默认有 16 个数据库(0-15),通过 SELECT 命令来切换数据库。

bash 复制代码
SELECT 1  # 切换到第 2 个数据库(从 0 开始计数)

2. 查看数据库中 key 的数量

bash 复制代码
DBSIZE

3. 清空当前数据库

bash 复制代码
FLUSHDB

4. 清空所有数据库

bash 复制代码
FLUSHALL

三、Key 操作指令

1. 检查 key 是否存在

bash 复制代码
EXISTS keyname

返回 1 表示存在,返回 0 表示不存在。

2. 删除 key

bash 复制代码
DEL keyname

3. 重命名 key

bash 复制代码
RENAME oldname newname

4. 获取 key 的类型

bash 复制代码
TYPE keyname

返回的类型包括 string、list、set、zset、hash 和 stream。

5. 匹配并查看指定的 key

bash 复制代码
KEYS pattern

例如:

bash 复制代码
KEYS h?llo  # 匹配 hello, hallo 和 hxllo

6. 设置 key 的过期时间

bash 复制代码
EXPIRE keyname seconds

使用 TTL 命令查看剩余时间,单位为秒。

bash 复制代码
TTL keyname

四、String 操作指令

1. 设置 String 值

bash 复制代码
SET keyname value

2. 获取 String 值

bash 复制代码
GET keyname

3. 追加 String 值

bash 复制代码
APPEND keyname value

4. 批量设置多个 String 值

bash 复制代码
MSET key1 value1 key2 value2 ...

5. 批量获取多个 String 值

bash 复制代码
MGET key1 key2 ...

6. 仅在 key 不存在时设置值

bash 复制代码
SETNX keyname value

7. 设置带过期时间的 String 值

bash 复制代码
SETEX keyname seconds value

8. 对 String 值进行递增或递减操作

bash 复制代码
INCR keyname  # 递增 1
DECR keyname  # 递减 1
INCRBY keyname increment  # 递增指定的值
DECRBY keyname decrement  # 递减指定的值

五、List 操作指令

1. 在 List 头部添加元素

bash 复制代码
LPUSH keyname value

2. 在 List 尾部添加元素

bash 复制代码
RPUSH keyname value

3. 获取 List 的长度

bash 复制代码
LLEN keyname

4. 获取 List 指定范围的元素

bash 复制代码
LRANGE keyname start stop

5. 移除并返回 List 的第一个元素

bash 复制代码
LPOP keyname

6. 移除并返回 List 的最后一个元素

bash 复制代码
RPOP keyname

7. 裁剪 List

bash 复制代码
LTRIM keyname start stop

六、Set 操作指令

1. 添加元素到 Set

bash 复制代码
SADD keyname member

2. 移除 Set 中的元素

bash 复制代码
SREM keyname member

3. 获取 Set 的元素个数

bash 复制代码
SCARD keyname

4. 判断元素是否在 Set 中

bash 复制代码
SISMEMBER keyname member

5. 获取 Set 的所有元素

bash 复制代码
SMEMBERS keyname

6. 求两个 Set 的交集

bash 复制代码
SINTER key1 key2

7. 求两个 Set 的并集

bash 复制代码
SUNION key1 key2

8. 求两个 Set 的差集

bash 复制代码
SDIFF key1 key2

七、Hash 操作指令

1. 添加元素到 Hash

bash 复制代码
HSET keyname field value

2. 获取 Hash 中指定 field 的值

bash 复制代码
HGET keyname field

3. 批量设置 Hash 的多个 field

bash 复制代码
HMSET keyname field1 value1 field2 value2 ...

4. 批量获取 Hash 的多个 field

bash 复制代码
HMGET keyname field1 field2 ...

5. 判断 Hash 中是否存在指定的 field

bash 复制代码
HEXISTS keyname field

6. 获取 Hash 中所有 field 和 value

bash 复制代码
HGETALL keyname

八、其他高级操作指令

1. 远程服务控制

  • 获取服务器信息:
bash 复制代码
INFO
  • 实时转储收到的请求:
bash 复制代码
MONITOR

2. 持久化

  • 将数据同步保存到磁盘:
bash 复制代码
SAVE
  • 将数据异步保存到磁盘:
bash 复制代码
BGSAVE
  • 返回上次成功保存数据的时间戳:
bash 复制代码
LASTSAVE

3. 数据安全

可以通过设置密码来增加 Redis 的安全性,在 redis.conf 文件中配置 requirepass 属性,然后在客户端使用 AUTH 命令进行认证。

bash 复制代码
AUTH yourpassword

总结

Redis 提供了丰富的操作指令,可以满足各种数据操作需求。本文介绍了 Redis 的一些常用指令,并通过代码示例进行了说明。希望这些指令能帮助你更好地使用 Redis。程序员转大模型开发,来看我的《ChatGPT+AI项目实战,打造多端智能虚拟数字人》视频课程。

相关推荐
Hacker_LaoYi36 分钟前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀38 分钟前
Redis梳理
数据库·redis·缓存
独行soc38 分钟前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
你的微笑,乱了夏天1 小时前
linux centos 7 安装 mongodb7
数据库·mongodb
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭1 小时前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
工业甲酰苯胺1 小时前
分布式系统架构:服务容错
数据库·架构
独行soc2 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
White_Mountain3 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu
Code apprenticeship3 小时前
怎么利用Redis实现延时队列?
数据库·redis·缓存
百度智能云技术站3 小时前
广告投放系统成本降低 70%+,基于 Redis 容量型数据库 PegaDB 的方案设计和业务实践
数据库·redis·oracle