老师讲的这个模块还是比较简陋的,是把购物车的存到redis里。
然后面试就被问1.购物车持久化、2.购物车中的商品没库存了或降价了怎么同步过来以及数据多端同步的问题。
当时答的有点烂,后来自己想了下:
1.购物车如果我暂存redis里,用户一段时间不操作就持久化到数据库,但是这么搞会有多端同步的问题,我也不知道怎么解决。
2.购物车数据的同步是发生在打开购物车页面和勾选商品时发生的,我们只要在用户做这些操作的时候去数据库查就行了,但是这么搞redis不就成了摆设而且mysql负载太大了?
有没有懂得老哥指点一下 感谢
我是萌新,凭感觉回答一下
1.购物车数据不太适合用数据库做持久化,直接用redis缓存就好,哪怕过期了再查数据库也比直接全存进数据库强
2.你说的好像是redis与数据库的一致性问题,我觉得可以在调整价格或库存的时候,对数据库的数据进行更新,然后再删除redis缓存,在下一次用户查询时再把数据缓存进redis
第一次回答,有错误还希望大佬指点^^