Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.1k views
in Technique[技术] by (71.8m points)

存储快照信息用什么数据库

有这样一个需求,比如用户浏览到购物流程页面,需要在服务端报错这个页面到数据,然后下次用户再次进来的时候,会直接来到这个页面操作,购物页面会有多种优惠活动,所以数据结构会不一样..所以,使用什么数据库保存会比较好,,后端语言是php


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

我觉得你这个需求就有问题,各种优惠活动都缓存,那万一活动过期了呢。。

当然,如果抛开这一切,你还需要准备一个用户标识符,比如 用户id ,或者其他的标识符。

接下来就可以根据实际情况选择一些合适的存储方案,对于这种结构不定的文档,肯定是首要选择 NoSQL,当然 NoSQL 也可以更快,大部分 NoSQL 都是选择序列化成 JSON存储,那么 MySQL 5.7 也支持 JSON,自然也可以作为一个备选方案,选择 主键ID+一个 JSON 字段的模式,大概也能够实现业务,当然,如果你不需要数据持久化的化话,可能还需要考虑数据自动丢弃。

然而相较于这个,或许还有一些方案,比如,页面「真静态化」,直接相对用户对页面渲染结果进行静态化保存,给定一定的失效时间,在存在缓存时再调用相关缓存内容。

当然,回过头来说,这跟语言没太大关系,主要是得看你的业务时什么样子的,比如上面除了 MySQL ,你还可以选择 Redis 的 Hash 或者 String,又或者选择 MongoDB、ElasticSearch、File 都可以,前提是你要熟悉它。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...