memcached是一个缓存层。
缓存层最大的一个特点就是:临时性,也就是说放在memcached里的数据里临时的,有或者没有并不会有本质的影响。这就是说为什么不能把session放在memcached里,session不是临时的。
其实写这段文字的时候想到了一个问题,这句话需要分开理解临时存储数据,和存储临时数据。
1.存储临时数据,也就是说我需要一个暂时放一些数据在内存里方便快速存取,比如用户提交订单时的订单确认页面的商品信息,这个数据就可以保存在memcached里,生成订单这个数据要被清理掉,不生成订单,这个数据要被放回购物车里,或者删除,或者一些流程性的数据。比如从商品点直接购买->订单确认->生成订单。从购物车点购买->订单确认->生成订单。订单确认和生成订单可能逻辑是一样的,但是第一步的逻辑不同,因此你会有不同的提示信息等等。这些信息,你可能会暂时存储在memcached里。
2.临时存储数据,这就是前面有人提到的,存储sql执行结果,有结果我从memcached里取,没有我从数据库里拿。