【Redis】Key的层级结构
原创
©著作权归作者所有:来自51CTO博客作者阿呆小记的原创作品,请联系作者获取转载授权,否则将追究法律责任
文章目录
Key的层级结构
思考
Redis没有类似MySQL中的table概念,我们该如何区分不同类型的key呢?
- 例如:需要存储用户、商品信息到redis中,有一个用户id是1,有一个商品id恰好也是1.
Redis的key允许有多个单词形成层级结构,多个单词之间用 :隔开,格式如:项目名:业务名:类型:id
,这个格式也并非是固定的,可以根据自己的需求来进行删除或者添加词条。
-
user
相关的 key -> zyx:user:1
-
product
相关的 key -> zyx:product:1
如果value是一个java对象,例如一个User对象,则可以将对象序列化为JSON字符串后存储:
利用上述的思想我们在Redis中存储两个User对象数据和两个Product对象数据:
127.0.0.1:6379[2]> SET zyx:user:1 '{"id":1, "name":"Jack", "age": 21}'
OK
127.0.0.1:6379[2]> SET zyx:user:2 '{"id":1, "name":"Rose", "age": 18}'
OK
127.0.0.1:6379[2]> SET zyx:product:1 '{"id":1, "name":"小米11", "price": 4999}'
OK
127.0.0.1:6379[2]> SET zyx:product:2 '{"id":2, "name":"荣耀6", "price": 2999}'
OK
127.0.0.1:6379[2]> KEYS *
1) "zyx:product:2"
2) "zyx:user:2"
3) "zyx:user:1"
4) "zyx:product:1"
当我们通过图像化界面打开的时候可以清晰地发现我们存储的User、Product对象数据进行了文件分类,实现了层级结构:
返回顶部