数据分享 — 省市区街道社区 5 级联动数据 ---- 送演示 ---- 送服务端程序

很多项目都需要省市区的数据表,有些甚至要到县、镇、街道、社区之类的更细的数据(比如 O2O 服务)。因此自己弄了一份省市地街道社区的5级联动,放在表里。
一般省级是直接加载的,改动省级,向服务器查询市级,此时查一次数据库,选中市,查一次数据库确定区。
后来查得烦了,干脆把查到的数据做个缓存,直接存成 json 文件拉倒。 nginx 直接返回文件,前端直接加载。这下不经过 PHPMysql ,快了很多。而且可以做 CDN 。这种方式是典型的空间换时间,现在硬盘已经很便宜了。
于是在 github 上开了个项目。
想着还要个 nginx 来起服务,算了,干脆自己用 Golang 撸一个。
说干就干

package main
import (
    "net/http"
    "github.com/qufo/IniReader"
)

func main() {
    config := IniReader.NewIniReader("./config.ini")
    http.Handle("/", http.FileServer(http.Dir(config.Get("directory"))))
    http.ListenAndServe(":"+config.Get("port"), nil)
}

写完了。
即然都写了,加个 readme 吧。
然后放 github 上了。
里面的 ID (code) 为短格式,比如省级只有2位,市级只有4位,需要更长的话,自己在后面补0即可。
有需要就去下吧。
地址在 https://github.com/qufo/cities

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

@Hanccc 嗯,这个也不错,就算把省市地三级全写死在里面文件也不大。并且,省市地三级数据不会经常变更。

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!