电商

订单进行分表之后,用户怎么查询所有的历史订单?
order1....order100
假如用户uid=6 uid%100=6 那就存在order6表中
假如用户uid=300 uid%100=0 那就存在order100表中
使用用户uid与100求余数,去查询余数对应的订单表就能获取该用户的全部订单数据

查询出来的历史订单如何进行分表的?
如果你的业务场景中对用户数据的查询较多,那么分表的策略应该是和用户相关的,尽量保证每个用户的数据在同一张表中。
如果是对订单ID进行的分表,并且划分了100张表的话,单纯的使用union all是不好的,每次union的时候都要将这100张表的查询结果进行union这样操作既麻烦对mysql也不优雅

添加购物车,库存是在什么时候减得?
在下订单成功后,应该根据所购买的商品的唯一的 SKU 号来进行相应的 SKU 库存的减少,商品的总库存保存在商品主表中,也需要减少总库存中的库存

假设百万条数据,怎样添加索引?
①导出原表数据
②创建新表与原表结构保持一致,在该表上执行alter语句添加索引;
③将表数据导入创建的新表;
④修改新建的表名为原表名。


一个题库里面有百万道题,给十个学生每人分配100道题,如何确定不会重复?
不会


Session共享可以用laravel做,但是忘了是啥了?
Laravel 多个项目共享session
操作步骤:以将session 存放到redis中为例:
1. 安装redis库composer require predis/predis
2. 修改 laravel框架的配置。
3. 修改.env 文件
SESSION_DRIVER=redis
SESSION_DOMAIN=.xxx.com //这里自定义自己的域名 注意前面有个.
将两个项目中APP_KEY 的值改一致

修改app/config/database.php redis中多加一个session 配置
'redis' => [
'client' => 'predis',
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_DATABASE', 0),
],
'session' => [
//这里的键名不一样哦,可以在env中自定义参数的值
'host' => env('REDIS_HOST_SESSION', '127.0.0.1'),
'password' => env('REDIS_PASSWORD_SESSION', null),
'port' => env('REDIS_PORT_SESSION', 6379),
'database' => env('REDIS_DATABASE_SESSION', 6),
],
],
改app/config/session.php 中的三个值。
1'domain' => '.local.com',//这里填写你的域
2 cookie'=> 'laravel_cookie', //
3'connection' => 'session',//

posted @ 2019-05-09 19:38  小呆1107  阅读(110)  评论(0编辑  收藏  举报