打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Redis学习笔记3--Redis键值设计
tag在互联网应用里尤其多见,首先看下面的关系型数据表:
Book表:
id
name
author
1
The Ruby Programming Language
Mark Pilgrim
2
Ruby on rail
David Flanagan
3
Programming Erlang
Joe Armstrong
Tag表:
tag_name
book_id
ruby
1
ruby
2
web
2
erlang
3
现在用redis将这两张表的数据存起来:
保存Book的数据:
redis 127.0.0.1:6379> incr book_id #用book_id这个key保存book表的id,每次要获得一个新的
#book_id用incr命令自增取得
(integer) 1
#incr命令返回1,则用key为book:1的hash来保存一个book对象,对象属性为hash的field
redis 127.0.0.1:6379> hset book:1 name "The Ruby Programming Language"
(integer) 1
redis 127.0.0.1:6379> hset book:1 author "Mark Pilgrim"
(integer) 1
redis 127.0.0.1:6379> hgetall book:1 #用hgetall命令测试一个,返回hash的所有属性和值
1) "name"
2) "The Ruby Programming Language"
3) "author"
4) "Mark Pilgrim"
redis 127.0.0.1:6379> incr book_id #创建第2个book对象,先incr一个book_id获得新book的id
(integer) 2
redis 127.0.0.1:6379> hset book:2 name "Ruby on rail"
(integer) 1
redis 127.0.0.1:6379> hset book:2 author "David Flanagan"
(integer) 1
redis 127.0.0.1:6379> hgetall book:2
1) "name"
2) "Ruby on rail"
3) "author"
4) "David Flanagan"
redis 127.0.0.1:6379> incr book_id
(integer) 3
redis 127.0.0.1:6379> hset book:3 name "Programming Erlang"
(integer) 1
redis 127.0.0.1:6379> hset book:3 author "Joe Armstrong"
(integer) 1
redis 127.0.0.1:6379> hgetall book:3
1) "name"
2) "Programming Erlang"
3) "author"
4) "Joe Armstrong"
保存Tag的数据,使用集合来存储数据,因为集合可以求交集、并集、差集:
redis 127.0.0.1:6379> sadd tag:ruby 1
(integer) 1
redis 127.0.0.1:6379> sadd tag:ruby 2
(integer) 1
redis 127.0.0.1:6379> sadd tag:web 2
(integer) 1
redis 127.0.0.1:6379> sadd tag:erlang 3
(integer) 1
如果要取得即属于ruby又属于web的书:
redis 127.0.0.1:6379> sinter tag:ruby tag:web
1) "2"
如果要取得属于ruby,但不属于web的书:
redis 127.0.0.1:6379> sdiff tag:ruby tag:web
1) "1"
属于ruby和属于web的书的合集:
redis 127.0.0.1:6379> sunion tag:ruby tag:web
1) "1"
2) "2"
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Redis各种数据结构介绍以及相应的业务场景应用
浅谈redis数据库的键值设计
Redis常见应用场景
【redis专题(10)】KEY设计原则与技巧
Redis系列二:Redis支持的数据类型和使用方法(二)
10 个 Redis 建议/技巧
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服