Redis 数据获取命令
GET
GET key
起始版本:1.0.0
返回key的value。如果key不存在,返回特殊值nil。
如果key的value不是string,就返回错误,因为GET只处理string类型的values。
返回值
simple-string-reply:key 对应的value,或者nil(key不存在时)
redis> GET nonexisting
(nil)
redis> SET mykey "Hello"
OK
redis> GET mykey
"Hello"
SET
SET key new_value
起始版本:1.0.0
将键key设定为指定的“字符串”值。
如果 key 已经保存了一个值,那么这个操作会直接覆盖原来的值,并且忽略原始类型。
当set命令执行成功之后,之前设置的过期时间都将失效
redis> SET mykey "Hello"
OK
redis> GET mykey
"Hello"
HGET
HGET key field
起始版本:2.0.0
返回 key 指定的哈希集中该字段所关联的值
返回值
bulk-string-reply:该字段所关联的值。当字段不存在或者 key 不存在时返回nil。
redis> HSET myhash field1 "foo"
(integer) 1
redis> HGET myhash field1
"foo"
redis> HGET myhash field2
(nil)
HSET
HSET key field value
起始版本:2.0.0
设置 key 指定的哈希集中指定字段的值。
如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联。
如果字段在哈希集中存在,它将被重写。
返回值
integer-reply:含义如下
1如果field是一个新的字段
0如果field原来在map里面已经存在
redis> HSET myhash field1 "Hello"
(integer) 1
redis> HGET myhash field1
"Hello"
层级关系、目录形式数据
使用 redis 存储数据的时候,有时候为了查看的方便,通常会有层级或者说是目录,
这时候我们在set的时候,需要将key值使用 “:” 的符号来区分层级关系,
比如:set("a:b", "123"),
那么在 redis 中就是 a 目录下的 key值 为 b 的 value 为 123。
SET("a:b", "123")
HSET "a:b" c "Hello"
GET a:b
HGET a:b c
查询数据中遇到的问题
WRONGTYPE Operation against a key holding the wrong kind of value
- 这个错误说明了用的redis方法与redis服务器中存储数据的类型存在冲突。
例如:数据库中有一个key的数据存储的是Hash类型的,但是使用redis执行数据操作的时候却使用了非Hash的操作方法。此时就会报
WRONGTYPE Operation against a key holding the wrong kind of value这个错误!
redis 127.0.0.1:6379>type key
redis 127.0.0.1:6379>hash
如果是zset如下:
redis 127.0.0.1:6379>zset
则表示数据类型为Sorted Sets的。此时就需要使用zadd、zrange等操作方法,否则就会报WRONGTYPE Operation against a key holding the wrong kind of value这个错误!
参考文档
https://www.cnblogs.com/jeffen/p/6091385.html
https://blog.csdn.net/tonvchong/article/details/11526237
http://redis.cn/commands.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程