Sessiong表配置

主题部署:

1
2
3
4
5
采用经过dmstr/yii2-adminlte-asset封装过的主题进行安装
composer require dmstr/yii2-adminlte-asset
composer require mdmsoft/yii2-admin
腾讯云cos存储插件,存储静态资源,如图片/css/js
composer require qcloud/cos-sdk-v5

由于开启动负载均衡,有几台服务器,所以session的存入服务器的对应session文件不一定在同一台服务器上,导致获取到的信息可能不对应(存的sessionid和取的sessionid不是同一个)。例如短信验证码

解决办法:

1session配置数据表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
common\config\main-local.php
components中添加
'session' => [
'class' => 'yii\web\DbSession',
'db' => 'db', // 数据库连接的应用组件ID,默认为'db'.
'sessionTable' => 'session', // session 数据表名,默认为'session'.
],
数据库添加表
CREATE TABLE session
(
id CHAR(40) NOT NULL PRIMARY KEY,
expire INTEGER,
data LONGBLOB
)
session代码,正常存取,不需要改动

2存入Redis缓存

主从复制:

读写分离,简单理解就是一份同样的数据,要放到两个数据库中,一个数据库是主数据库(master),一个数据库是从数据库(follower),master库负责写入数据,然后将自己写入的数据复制到follower库中,而客户端读数据,就可以佛那个follower中直接读取,读和写就分开了。

负载均衡:

可分为DNS负载均衡,HTTP负载均衡,IP负载均衡,链路层负载均衡等。
负载均衡就理解成一台服务器支撑不住了,就需要多台服务器,每次请求,通过一个调度策略,来决定你的请求分发到具体哪一台服务器上,各个服务器根据调度策略来分摊请求。

http://blog.sina.com.cn/s/blog_77f88ea60102x5yd.html

分库分表:

可以理解成将大表拆开,然后把冷热数据分别存放到相应的小表中,或者不同的数据库中。