于是有了这一步的改进。
首先可以理解成一个redis里面有一个小的redis。同时要注意引入了一个field的名字。
有点map套map的味道。
如下图所示,进行一个购物车的模拟!
001的用户 有两个商品g01 g02,然后可以进行添加和删除及查看全部。
如图所示,进行如下的更进。
也就是说 g01:info是都有的,那么可以提取出这些东西,然后专门做一个用来保存商品的信息的哈希。
即这些信息作为一个独立之外的hash就可以解决上述问题了,提升访问速度和效率。
张三买一次把商品信息加载到公共的库中,李四也买了李四也加一次信息,也会容易浪费。 那么进行一个判定。 上面的指令是:有就不动,没有就动。
解决方案自然就如下了:
超卖问题是由于单线程等等原子操作,现在不作考虑的。
原则上redis只做数据的存储,业务的操作尽量不要给redis,应该归到业务逻辑层来做,不然业务会太分散,违背原则。
所以综上所述,可以用作抢购商品的用途。
string存储讲究整体性,以读为主。 而hash是以更新为主,方便更新和更改数量。