描述
如何设计redis的数据结构,使用redis存储多级关系并快速查询
假设:市是最后一级单位(如果是区县也同理)
1).查询全国的数据?
2).查询四川省的数据?
3).查询成都市的数据?
方案
方案1:
将“context_prefix_国家_省_市”作为key,value保存我们要查询的数据,这样便于保存
example:
key value
gdp_中国_四川省_成都市 avg=97&sum=1800
gdp_中国_四川省_绵阳市 avg=30&sum=60
gdp_中国_广东省_广州市 avg=150&sum=3600
gdp_中国_河北省_保定市 avg=90&sum=2000
点评:但是查询的话只能模糊查询,效率很差,不推荐(key/value实现)
方案2:
1).将所有国家存到hash,hash中的国家名是key,value是这个国家对应的hash的key
2).将这个国家的所有省存到hash,省名字是key,value是这个省所对应的hash的