商品表里面有个字段 叫 city_no
这个有啊。。但是怎么去筛选你选的城市呢
@名字要长七个字: 什么意思?你是说选了北京,怎么筛选北京的团购信息?
@风醉: 是的。。。
@名字要长七个字: select xxx from 商品表 where city_no= 北京的ID的干活
应该专门有个表维护城市和商品,商品表里加城市字段不妥
各个城市的数据是分库的,切换城市时,就切换连接字符串,数据就跟着变了
分库貌似最合理~完全隔离~
有必要分库储存吗??完全隔离有什么好处吗?
@羽商宫: 很有必要哇,毕竟美团这种访问量又比较大,每个城市的数据又相互独立。
完全隔离的话,就是说每个城市都可以自己维护自己的站点,做到相互无影响,减少耦合。
其实我不明白楼主不明白的是什么,所以无从回答起。
不知道他是界面问题,还是WEB取值问题还是数据库设计问题,或者是区域判断问题。
可以把切换城市的信息保存在cookie中,cookie是存储在客户端内存中的,设置其过期时间长一点,每次加载时就可以从cookie中取得城市信息,再根据此信息查找相应城市的团购信息了。
分库貌似最合理~完全隔离~ 这个是对的。 从数据结构来说,分库是有必要的,当然看你网站的初期架构。如果小型网站,那么没多大必要。 功能实现的话,超级简单 。 一个表示城市,商品表里面关联城市ID, 一个where 就解决了 。。不知道楼主说的难点在哪里
楼主问的很明白,选择的城市是怎么存储的。。。
答案:直接存到cookie里面了,用的时候取出来。
根本不是存在一个表里面的,每个二级域名解析的服务器IP地址都不一样,哈哈
表a:城市ID 城市name
表b:城市下的各个小区ID 城市下的各个小区name 城市ID
表c:城市下的各个小区下各条街的ID 城市下的各个小区下各条街的name 城市下的各个小区ID
表d:城市下的各个小区下各条街的各家店ID 城市下的各个小区下各条街的各家店name 市下的各个小区下各条街的ID
存储的方式很多Cookeie Session 缓存都可以 数据量不大建议用Session吧
类似美团这种 是分库的 根据你切换的城市切换连接字符串
至于你记录你选择的城市,最开始的时候会根据你的IP进行自动的选择,然后存入cookie中 ,切换城市也会将城市ID存入cookie中,程序直接读cookie的值
嗯嗯。。3Q。。谢谢您给我的解答,
首先,像美团这种访问量大的网站,每个城市都有独立的服务器,甚至是多台,这些城市的团购数据应该是相互独立的,每个城市可能对应一个或多个数据库,程序应该是公用一套的,当你切换城市的时候就程序就会去连接对应城市的数据库,并将选择的城市保存在cookie中,你下次打开页面的时候,先直接去cookie中读取,如果你之前选择的城市与你所在的城市(可能根据你的IP取得)不一致,就会提示是否切换到当前城市。
太感谢你了。。。大神啊,,有种茅塞顿开的感觉。。
请问楼主解决你的问题了吗?我也遇到了同样的问题,请赐教!
美团的城市分站,数据库是如何设计的啊?