逻辑上是树型结构的表缓存方案

目前有一张表,有id 和parentid2个字段,通过这两个字段关系的映射,整个表逻辑上是一棵树。现在想把这张表的数据缓存到redis中。
问题,如何设计缓存结构,支持常用的查询。(比如,全国的街道,镇,县,省这样的数据)

阅读 8.4k
1 个回答

不太了解你的具体场景, 另外假设你是 B/S

我之前的做法是, 直接生成一个js
服务端只验证数据就可以了

我能想到的方案

保存相邻两级的 id的 单向 集合关系

比如

湖北省.id : [武汉市.id, 襄樊市.id, ...]
.....
武汉市.id : [洪山区.id, 东湖高新区.id, ...]

//省市区三个级别的话

//一共就是 34(省级行政区) + 294(地级市) 条记录

然后验证一个省市区串是否正确 只需要redis两次请求

ps: 前提条件是你传递上来的是 省-市-区 而不是 仅仅一个

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题