memory内存表的读性能很好,可以进行SQL操作。比如你自己设计一套cookie会话认证系统,用户登录后每次请求都要验证用户的cookie,这时你可以把用于验证的数据MD5(密码+全局盐)和用户ID存在memory内存表中,验证时从用户发送过来的cookie中拿出用户ID,放到memory里查询,然后比对MD5(密码+全局盐)。另外,你还可以存储一些其他内容到内存表用户登录记录里,比如设一个token字段,验证码字段,购物车字段,或者一个杂项字段,里面存json_encode或者serialize编码数据。要注意的是,MySQL重启后,memory表的数据会被清空,这个跟Memcached、Redis一样。 用Memcached、Redis也能实现上面的功能,但如果你要开发像Discuz!那样通用的能够运行在大多数虚拟主机上的程序时,几乎就不能采用Memcached、Redis了。
memory内存表的读性能很好,可以进行SQL操作。比如你自己设计一套cookie会话认证系统,用户登录后每次请求都要验证用户的cookie,这时你可以把用于验证的数据MD5(密码+全局盐)和用户ID存在memory内存表中,验证时从用户发送过来的cookie中拿出用户ID,放到memory里查询,然后比对MD5(密码+全局盐)。另外,你还可以存储一些其他内容到内存表用户登录记录里,比如设一个token字段,验证码字段,购物车字段,或者一个杂项字段,里面存json_encode或者serialize编码数据。要注意的是,MySQL重启后,memory表的数据会被清空,这个跟Memcached、Redis一样。
用Memcached、Redis也能实现上面的功能,但如果你要开发像Discuz!那样通用的能够运行在大多数虚拟主机上的程序时,几乎就不能采用Memcached、Redis了。