docker redis容器命令行操作
注意事项
生产环境警告:
避免使用 KEYS *、FLUSHDB、FLUSHALL等阻塞命令。
使用 UNLINK替代 DEL提高性能。
持久化:删除操作不可逆!确保数据已备份或确认无需保留。
连接外部 Redis:若需从宿主机操作容器内的 Redis:
$ redis-cli -h 127.0.0.1 -p 6379 -a yourpassword
$ docker compose exec -it redis redis-cli
127.0.0.1:6379> GET login_error_rate_limit*
(nil)
127.0.0.1:6379> GET login_error_rate_limit
(nil)
127.0.0.1:6379> GET login_error_rate_limit:admin@12345.com # 获取字符串值
"6"
127.0.0.1:6379> DEL login_error_rate_limit:admin@12345.com # 删除字符串值(建议使用unlink,因为是非阻塞式的)
(integer) 1
127.0.0.1:6379> GET login_error_rate_limit:admin@12345.com # 获取字符串值
(nil)
127.0.0.1:6379> HGETALL hash_key # 获取哈希表所有字段
(empty array)
127.0.0.1:6379> LRANGE list_key 0 -1 # 获取列表所有元素
(empty array)
127.0.0.1:6379> SMEMBERS set_key # 获取集合所有成员
(empty array)
127.0.0.1:6379> ZRANGE zset_key 0 -1 # 获取有序集合所有成员
(empty array)
127.0.0.1:6379> TYPE key_name # 查看键类型
none
127.0.0.1:6379> type login_error_rate_limit:admin@12345.com # 查看键类型
none
127.0.0.1:6379> TYPE login_error_rate_limit:admin@12345.com # 查看键类型
none
127.0.0.1:6379> TTL login_error_rate_limit:admin@12345.com # 查看剩余过期时间(秒)
(integer) -2
127.0.0.1:6379> EXISTS login_error_rate_limit:admin@12345.com # 检查键是否存在
(integer) 0
127.0.0.1:6379> SET mykey "Hello" # 设置字符串
OK
127.0.0.1:6379> HSET user:1000 name "Alice" # 设置哈希字段
(integer) 1
127.0.0.1:6379> LPUSH mylist "item1" # 列表头部插入
(integer) 1
127.0.0.1:6379> SADD myset "element" # 集合添加元素
(integer) 1
127.0.0.1:6379> ZADD leaderboard 100 "Player1" # 有序集合添加成员
(integer) 1
127.0.0.1:6379> EXPIRE mykey 3600 # 1小时后过期
(integer) 1
127.0.0.1:6379> SETEX mykey 60 "value" # 设置值并指定60秒过期
OK
127.0.0.1:6379> SELECT 1 # 切换到1号数据库(默认0-15
OK
127.0.0.1:6379[1]> DBSIZE # 查看当前数据库键数量
(integer) 6
127.0.0.1:6379[1]> INFO # 查看服务器信息
# Server
redis_version:6.2.19
redis_git_sha1:00000000
redis_git_dirty:0
。。。一推信息
127.0.0.1:6379[1]> MONITOR # 实时监控命令(调试用)
。。。。持续输出
DEL mykey # 删除单个键
UNLINK mykey # 非阻塞删除(推荐生产环境)
HDEL user:1000 name # 删除哈希字段
SREM myset "element" # 删除集合元素