利用控制台对Redis执行增删改查命令
Redis是一款高性能的键值存储数据库,在实际开发和运维过程中,经常需要通过控制台直接对Redis执行数据操作。本文将详细介绍如何在控制台中连接Redis服务,并完成基础的增删改查(CRUD)操作。
一、连接Redis控制台
首先需要确保本地或服务器上已经安装并启动了Redis服务,不同系统下的连接方式略有差异:
1. 本地Redis连接
如果Redis服务运行在本机,直接打开系统终端(Linux/macOS)或命令提示符/PowerShell(Windows),执行以下命令即可连接默认端口的Redis服务:
redis-cli
2. 指定参数连接
当Redis服务运行在远程服务器,或者修改了默认端口、设置了访问密码时,需要指定对应参数连接:
# 格式:redis-cli -h 主机地址 -p 端口号 -a 密码 redis-cli -h 127.0.0.1 -p 6379 -a your_redis_password
连接成功后,控制台会显示127.0.0.1:6379>类似的提示符,说明已经进入Redis交互环境。
二、Redis增删改查基础操作
Redis支持多种数据结构,不同结构的操作命令存在差异,以下以最常用的字符串(String)、哈希(Hash)、列表(List)类型为例,介绍增删改查操作。
1. 字符串(String)类型操作
字符串是Redis最基础的数据类型,一个键对应一个值,值可以是字符串、整数或浮点数。
(1)新增/修改数据(SET)
使用SET命令可以新增键值对,如果键已经存在,则会覆盖原有值,实现修改效果:
# 语法:SET key value 127.0.0.1:6379> SET username "zhangsan" OK # 对已存在的键再次SET,会覆盖原有值 127.0.0.1:6379> SET username "lisi" OK
(2)查询数据(GET)
使用GET命令可以查询指定键对应的值,如果键不存在则返回nil:
127.0.0.1:6379> GET username "lisi" 127.0.0.1:6379> GET age (nil)
(3)删除数据(DEL)
使用DEL命令可以删除指定的键,返回值为删除的键数量:
127.0.0.1:6379> DEL username (integer) 1 127.0.0.1:6379> GET username (nil)
2. 哈希(Hash)类型操作
哈希类型适合存储对象结构的数据,一个键对应多个字段和值的映射关系。
(1)新增/修改数据(HSET)
使用HSET命令可以为哈希键设置字段和对应的值,如果字段已存在则更新值:
# 语法:HSET key field value [field value ...] 127.0.0.1:6379> HSET user:1001 name "wangwu" age 25 email "wangwu@example.com" (integer) 3 # 更新已有字段的值 127.0.0.1:6379> HSET user:1001 age 26 (integer) 0
(2)查询数据(HGET、HGETALL)
使用HGET可以查询哈希键中指定字段的值,使用HGETALL可以查询所有字段和值:
127.0.0.1:6379> HGET user:1001 name "wangwu" 127.0.0.1:6379> HGETALL user:1001 1) "name" 2) "wangwu" 3) "age" 4) "26" 5) "email" 6) "wangwu@example.com"
(3)删除数据(HDEL)
使用HDEL命令可以删除哈希键中指定的字段,返回值为删除的字段数量:
127.0.0.1:6379> HDEL user:1001 email (integer) 1 127.0.0.1:6379> HGET user:1001 email (nil)
3. 列表(List)类型操作
列表类型是有序的字符串列表,支持从两端插入或弹出元素。
(1)新增数据(LPUSH、RPUSH)
LPUSH从列表左侧插入元素,RPUSH从列表右侧插入元素:
# 左侧插入元素 127.0.0.1:6379> LPUSH task_list "task1" "task2" (integer) 2 # 右侧插入元素 127.0.0.1:6379> RPUSH task_list "task3" (integer) 3
(2)查询数据(LRANGE)
使用LRANGE可以查询列表中指定范围的元素,索引从0开始,-1表示最后一个元素:
# 查询所有元素 127.0.0.1:6379> LRANGE task_list 0 -1 1) "task2" 2) "task1" 3) "task3"
(3)删除数据(LPOP、RPOP、LREM)
LPOP从左侧弹出元素,RPOP从右侧弹出元素,LREM可以删除指定数量的元素:
# 左侧弹出一个元素 127.0.0.1:6379> LPOP task_list "task2" # 删除列表中指定值的元素,语法:LREM key count value,count为正表示从左侧开始删除count个,为负表示从右侧开始删除,为0表示删除所有 127.0.0.1:6379> LREM task_list 1 "task1" (integer) 1 127.0.0.1:6379> LRANGE task_list 0 -1 1) "task3"
三、通用操作命令
除了不同数据类型的专属命令,Redis还提供了一些通用的增删改查相关命令:
EXISTS key:判断键是否存在,存在返回1,不存在返回0KEYS pattern:根据匹配规则查询所有符合条件的键,例如KEYS user:*查询所有以user:开头的键EXPIRE key seconds:为键设置过期时间,单位为秒,过期后键会自动删除TTL key:查询键的剩余过期时间,返回值为剩余秒数,-1表示永不过期,-2表示键不存在
127.0.0.1:6379> EXISTS task_list (integer) 1 127.0.0.1:6379> KEYS user:* 1) "user:1001" 127.0.0.1:6379> EXPIRE user:1001 3600 (integer) 1 127.0.0.1:6379> TTL user:1001 (integer) 3597
四、退出Redis控制台
完成所有操作后,可以使用EXIT或QUIT命令退出Redis交互环境,也可以直接使用Ctrl+C快捷键退出:
127.0.0.1:6379> EXIT # 或 127.0.0.1:6379> QUIT
以上内容覆盖了控制台操作Redis的核心增删改查场景,实际使用中可以根据需求查询对应数据类型的更多命令,灵活完成数据操作。