redis基本数据类型 string
string类型
1、SET:添加或者修改已经存在的一个String类型的键值对
2、GET:根据key获取String类型的value
3、MSET:批量添加多个String类型的键值对
4、MGET:根据多个key获取多个5tring类型的value
5、INCR:让一个整型的key自增1
6、INCRBY:让一个整型的key自增并指定步长,例如:incrby num 2让num值自增2INCRBYFLOAT:让一个浮点类型的数字自增并指定步长
7、SETNX:添加一个String类型的键值对,前提是这个key不存在,否则不执行
8、SETEX:添加一个string类型的键值对,并且指定有效期
127.0.0.1:6379> set age 203 OK 127.0.0.1:6379> MSET k1 v1 k2 v2 k3 v3 OK 127.0.0.1:6379> MGET k1 k2 k3 1) "v1" 2) "v2" 3) "v3" 127.0.0.1:6379> INCR age (integer) 204 127.0.0.1:6379> INCR age (integer) 205 127.0.0.1:6379> INCRBY age 2 (integer) 207 127.0.0.1:6379> INCRBY age 2 (integer) 209 127.0.0.1:6379> SET score 10.1 OK 127.0.0.1:6379> INCRBYFLOAT score 0.5 "10.6" 127.0.0.1:6379> INCRBYFLOAT score 0.5 "11.1" 127.0.0.1:6379> SETNX name jack (integer) 0 127.0.0.1:6379> SETEX name2 10 alice OK 127.0.0.1:6379> TTL name2 (integer) 5 127.0.0.1:6379>
思考:
Redis没有类似MySQL中的Table的概念,我们该如何区分不同类型的key呢?
例如,需要存储用户、商品信息到redis,有一个用户id是1,有一个商品id恰好也是1
127.0.0.1:6379> SET heima:user:1 '{"id":1, "name":"Jack", "age":21}' OK 127.0.0.1:6379> SET heima:user:2 '{"id":2, "name":"Rose", "age": 18}' OK 127.0.0.1:6379> SET heima:product:1 '{"id":1, "name":"小米11", "price":49991}' OK 127.0.0.1:6379> SET heima:product:2 '{"id":2, "name":"荣耀6", "price":2999}' OK 127.0.0.1:6379> keys * 1) "heima:product:1" 2) "heima:product:2" 3) "heima:user:2" 4) "heima:user:1"
在redis工具上看到key分了层级
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了