Redis怎样简便地操作不同数据结构

<p>直接用 redis-cli 直连验证最高效:ping 返回 PONG 表示连通;NOAUTH 需加 -a 密码;连接失败先查服务状态和端口映射;KEYS * 要防 shell 展开,改用 --scan;TYPE 查类型避免命令误用;HSET/HGETALL 适合字段级操作;LPUSH/RPOP 简单队列优于 BLPOP;ZADD 用时间戳作 score 支持范围查询。</p>用 redis-cli 直连就能试,别急着写代码多数人卡在第一步:连不上、命令输错、返回空或报错。直接开终端跑 redis-cli 是最快验证方式,不用配连接池、不用写客户端初始化。本地默认端口是 6379,连不上先检查 Redis 是否真在跑:redis-cli ping 返回 PONG 才算通。常见错误现象:(error) NOAUTH Authentication required 说明启用了密码,得加 -a <password>;Could not connect to Redis at 127.0.0.1:6379 多半是服务没起来,或者用了 Docker 却忘了 -p 6379:6379 映射端口。临时测试别用生产实例,FLUSHDB 会清空当前库所有 key中文或特殊字符存进去没问题,但用 KEYS * 查时注意 shell 通配符会被提前展开,改用 redis-cli --scan --pattern "*"想看数据结构类型?TYPE <key> 比猜靠谱,STRLEN 对非 string 报错,LLEN 对非 list 报错------类型错,命令就废HSET 和 HGETALL 处理对象字段最省事存用户信息、配置项这类"字段+值"结构,HSET 比塞 JSON 字符串强:字段可单独读写、不需序列化反序列化、内存更省。一个 HSET user:1001 name "Alice" age "28" role "admin" 就建好哈希表,HGETALL user:1001 拿全量,HGET user:1001 age 只取单个字段。容易踩的坑:HSET 后续再设同 key 的不同字段,不会覆盖整个 hash,只更新指定字段------这点和 SET 完全不同;但 HGETALL 返回的是字段名和值交替的扁平列表(不是 JSON),程序里解析时注意成对取值。字段名别含空格或冒号,虽然 Redis 不拦,但后续用正则或日志切分时容易出岔如果字段值本身是 JSON 字符串(比如 tags: "a","b"),那就退化成 string 存,别硬塞进 hash------hash 适合原子字段,不适合嵌套结构HLEN 查字段数比 HGETALL 再算长度快得多,尤其大 hash用 LPUSH/RPOP 做队列,别碰 BLPOP 除非真要阻塞消息队列场景下,LPUSH job:queue {"id":123} 入队,RPOP job:queue 出队,简单可靠。Redis 本身不保证消费成功,所以业务逻辑得自己处理失败重推或死信。 arXiv Xplorer ArXiv 语义搜索引擎,帮您快速轻松的查找,保存和下载arXiv文章。

相关推荐
Sirens.几秒前
MySQL数据库:JDBC编程
数据库·mysql
troy1281 分钟前
告别 Copilot?Codex、Claude Code、DeepSeek Harness、Kimi、ChatGPT 哪个更适合本地化部署,更有性价比?
人工智能·python·开源软件
IvanCodes9 分钟前
Python 文件操作(十二):文件与目录的读写
开发语言·python
蓝速科技20 分钟前
会议室门牌签到功能选型与落地指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
Y幽谷客8 小时前
Python加载本地大模型(Qwen3.5 8B)
python·大模型
此时不提桶,更待何时9 小时前
01-04-B-垃圾回收面试与生产事故实战
java·jvm·面试
伞伞悦读9 小时前
【第36期】Python 目录与路径详解:pathlib、文件遍历、创建、复制、移动和删除风险
开发语言·python
线上放牧人9 小时前
Windows删除图标缓存
windows·python·pyqt
Hrain-AI9 小时前
多 Agent 并行不打架:worktree 隔离与反馈回流落地(附脚本)
网络·数据库·人工智能·架构
qq_54702617910 小时前
Python 变量和简单数据类型
python