作者:QQ 14588019 WonderfulLife

customers表 (主表)

cust_id     cust_name   mobile       address
3892045     杨帆        13500138000  北京市朝阳区东土城路怡和阳光大厦C座
1027709     田野        13600138000  广东省深圳市南山区高新南七道

orders表 (从表)
ord_id   cust_id   ord_date   state
1035     3892045   2018-04-22 已签收
1039     3892045   2018-04-22 配送中
1065     3892045   2018-04-22 配送中
1033     1027709   2018-04-23 已出库

1044     1027709   2018-02-19 已签收

创建第1条客户信息
cust_id     cust_name   mobile       address
3892045     杨帆        13500138000  北京市朝阳区东土城路怡和阳光大厦C座MULTI
HMSET customer:3892045:hset cust_id  3892045  cust_name "杨帆"  mobile "13500138000"  address "北京市朝阳区东土城路怡和阳光大厦C座"
LPUSH customer:list 3892045          # 队列中保存的客户编号集合用来分页
EXEC
---------------------------------------------------------------------------------------------
创建第1条订单信息
ord_id   cust_id   ord_date   state
1035     3892045   2018-04-22 已签收MULTI
HMSET order:1035:hset ord_id  1035  cust_id 3892045  ord_date "2018-04-22"  state "已签收"
SADD  customer:3892045:child:set  1035  # 使用集合存储从表主键,即通过主表主键找从表明细
LPUSH order:list 1035          # 队列中保存的订单编号集合用来分页
EXEC创建第2条订单信息
ord_id   cust_id   ord_date   state
1039     3892045   2018-04-22 配送中MULTI
HMSET order:1039:hset ord_id  1039  cust_id 3892045  ord_date "2018-04-22"  state "配送中"
SADD  customer:3892045:child:set  1039  # 使用集合存储从表主键,即通过主表主键找从表明细
LPUSH order:list 1039          # 队列中保存的订单编号集合用来分页
EXEC创建第3条订单信息
ord_id   cust_id   ord_date   state
1065     3892045   2018-04-22 配送中MULTI
HMSET order:1065:hset ord_id  1065  cust_id 3892045  ord_date "2018-04-22"  state "配送中"
SADD  customer:3892045:child:set  1065  # 使用集合存储从表主键,即通过主表主键找从表明细
LPUSH order:list 1065          # 队列中保存的订单编号集合用来分页
EXEC===================================================================================================
创建第2条客户信息
cust_id     cust_name   mobile       address
1027709     田野        13600138000  广东省深圳市南山区高新南七道MULTI
HMSET customer:1027709:hset cust_id  1027709  cust_name "田野"  mobile "13600138000"  address "广东省深圳市南山区高新南七道"
LPUSH customer:list 1027709          # 队列中保存的客户编号集合用来分页
EXEC
---------------------------------------------------------------------------------------------
创建第1条订单信息
ord_id   cust_id   ord_date   state
1033     1027709   2018-04-23 已出库MULTI
HMSET order:1033:hset ord_id  1033  cust_id 1027709  ord_date "2018-04-23"  state "已出库"
SADD  customer:1027709:child:set  1033  # 使用集合存储从表主键,即通过主表主键找从表明细
LPUSH order:list 1033          # 队列中保存的订单编号集合用来分页
EXEC创建第2条订单信息
ord_id   cust_id   ord_date   state
1044     1027709   2018-02-19 已签收MULTI
HMSET order:1044:hset ord_id  1044  cust_id 1027709  ord_date "2018-02-19"  state "已签收"
SADD  customer:1027709:child:set  1044  # 使用集合存储从表主键,即通过主表主键找从表明细
LPUSH order:list 1044          # 队列中保存的订单编号集合用来分页
EXEC****************************************************************************************************显示客户编号(3892045)的信息
127.0.0.1:6379> HGETALL customer:3892045:hset
127.0.0.1:6379> LLEN customer:list  # 返回记录总数
127.0.0.1:6379> LRANGE customer:list 0  20  # 这是第1页的20条记录主键
127.0.0.1:6379> LRANGE customer:list 21 40  # 这是第2页的20条记录主键
127.0.0.1:6379> LRANGE customer:list 41 60  # 这是第3页的20条记录主键
显示明细主键集合
127.0.0.1:6379> SMEMBERS customer:3892045:child:set
显示明细信息
127.0.0.1:6379> HGETALL order:1035:hset
127.0.0.1:6379> HGETALL order:1039:hset
127.0.0.1:6379> HGETALL order:1065:hset

本篇讲解完毕 未经许可,不得商用出版发行!

补充说明 NoSql多对多关系建模 只需在"添加明细时"另外再加一个集合用来把对方的主键存储在“明细中”某个主键包含的集合中即可,跟本篇几乎一模一样,就不另外开篇讲解了!

Redis键-值数据库 nosql 数据建模(3)------ 如何存储主从表数据 一对多关系相关推荐

  1. Redis键-值数据库 nosql 数据建模(4)------ 如何存储主从表数据 一对超级多关系

    Create GUIDs online 全球唯一主键 作者:QQ 14588019 WonderfulLife 本范例中不能使用guid编号作为明细的id,如果这么干,明细将无法查询,分页就更别谈啦 ...

  2. Redis键-值数据库 nosql 数据建模(5)------ 如何存储树形结构的数据

    作者:QQ 14588019 WonderfulLife 关系型数据库电商产品分类表 catgories id name parentId idPath 101 level1 1st category ...

  3. 键值数据库LevelDB的优缺点及性能分析

    导读:LevelDB是一种为分布式而生的键-值数据库. 作者:廖环宇 张仕华 来源:大数据DT(ID:hzdashuju) 01 LevelDB的特性 LevelDB是一个C++语言编写的高效键-值嵌 ...

  4. redis专题:redis键值设计、性能优化以及redis连接池配置

    文章目录 1.redis键值设计 ①:key设计规范 ②:value设计规范 2. 命令使用优化 3. redis连接池配置参数设计 4. redis连接池预热 5. redis的key过期删除策略 ...

  5. 从零开始设计键值数据库(KEY-VALUE STORE)

    本文主要参考 System Design Interview: An Insider's Guide(CHAPTER 6) 键值存储(key-value store),也被称为键值数据库(key-va ...

  6. Redis在电影票系统的设计与实现(Redis键值对设计)

    [辰兮要努力]:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行! 博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端.后台.数据 ...

  7. 分布式事务键值数据库 TiKV 加入 CNCF 沙箱孵化器

    百度智能云 云生态狂欢季 热门云产品1折起>>>   云原生计算基金会 CNCF 昨日宣布接纳 TiKV 开源分布式事务键值数据库作为 CNCF 沙箱的早期发展云原生项目. TiKV ...

  8. 键值数据库PebblesDB读后感

    键值数据库PebblesDB读后感        在LevelDB/RocksDB这种分层思路上,PebblesDB提出了一种减少写放大的思路,下面学习并总结,所述以论文为基础,也有个人 观点,客观论 ...

  9. Spring集成Redis键值乱码\xac\xed\x00\x05t\x00\tb

    目录 一.Spring集成Redis键值乱码 二.解决方法 三.问题分析 一.Spring集成Redis键值乱码 Spring集成Redis设置缓存数据时,发现键值乱码 设置的key前面有乱码\xac ...

最新文章

  1. Java基础(二十七)Java IO(4)字符流(Character Stream)
  2. python 是什么类型的语言-Python什么意思是一门什么样的语言
  3. TCP/IP 四次断开
  4. 用python计算两个二维list依据第二维的前一个数据相加
  5. Three.js之渲染器
  6. python unpack infinity_fit_转换出错:输入包含NaN、infinity或对dtype(“float64”)太大的值...
  7. 微服务组件记事本:本地搭建Skywalking
  8. Sentinel(十九)之主流框架的适配
  9. php中source,PHP中source #N问题的解决方法
  10. 你真的了解iOS怎么取属性的吗?
  11. python爬虫之js链接跳转抓取_Python爬虫获取页面所有URL链接过程详解
  12. ubuntu16.04没有声音解决方案( 通俗易懂)
  13. svn分支和主干的同步操作
  14. js实现文字跑马灯效果
  15. 叶俊:让能量爆棚的秘诀
  16. Q版京剧脸谱来喽——武生
  17. 在C语言二级考试中编程题编译,二级C语言上机编程题
  18. 判断IE浏览器的文档模式以及浏览器模式
  19. signature=f2fd61184b3328e471644f6fd3617f29,IPSEC-×××-CA
  20. “功夫高考”之高考状元的七种武器

热门文章

  1. matplotlib入门基础(五)轴坐标范围 轴刻度比例 轴刻度
  2. C++技术——构造法
  3. 在ubuntu中使用7z压缩命令分卷压缩超大文件
  4. Ubuntu18.04卸载并重新安装Ubuntu及
  5. POJ 3264.Balanced Lineup-RMQ(ST)详解
  6. 使用TensorFlow XLA辅助实现BERT预训练加速
  7. chrome插件,装这个就够了
  8. No.04 色散补偿 O-FDE算法 交叠频域均衡算法 MATLAB Python 代码实现
  9. “死亡之星”——“阿波非斯”
  10. python中文分句_python实现中文文本分句的例子