varnish-introduction
以前做网站的时候遇到了网站的访问量很大,而导致后端处理程序响应超时而导致的一些问题。当时采用的架构是nginx+php-fastcgi,同事想到了用nginx-proxycache来做页面缓存,效果也还行。下面我想介绍一下varnish的技巧
以前做网站的时候遇到了网站的访问量很大,而导致后端处理程序响应超时而导致的一些问题。当时采用的架构是nginx+php-fastcgi,同事想到了用nginx-proxycache来做页面缓存,效果也还行。下面我想介绍一下varnish的技巧
c3p0做连接池,大量数据查找和更新,由于是并发任务,所以呢会出现数据库连接打开之后,
没有操作,当前连接会处于sleep状态,当超过wait_timeout的时间后,连接会被关闭
所以再想执行数据库操作的话,而从线程池里取连接时若是没加以验证的话,就会报错,这样我们可以适当的修改wait_timeout的值,
set global wait_timeout = 60
若是权限不够,那只能通过修改c3p0的配置来达到目的
testConnectionOnCheckout
从连接池中取出连接时是否做连接检查。
默认是false,当设置为true时则会检查连接是否有效,若是无效就从连接池中剔除。该操作是为同步操作
testConnectionOnCheckin
往连接池中加入连接时是否做连接检查。
默认是false,当设置为true时则会检查连接是否有效,若是无效肯定就不加进去了。该操作是为异步操作
以上配置若是被设置为true时,肯定对性能是有一定的影响的。所以要两相权衡,哪个方案好便使用哪个方案
总的来说,配置很重要。
有些时候,你在操作MYSQL数据库当口遇到了些问题,那么记录下来以作后师
外键关联表数据删除限制
SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE TABLE table_name;
当然操作完成后还是得将设置还原
SET FOREIGN_KEY_CHECKS = 1;
mysql多主模式情况下,当有一台主机down机,重启后可能会发生主键冲突,若是以自增长做主键, 可以考虑设定规则,使得各主机之间的生产主键的规律各不相同 若是对主键没有太多要求可以使用unique函数生成id
做这篇小记缘何,是时项目由Laravel5.0至Laravel5.1跨度很大,主要体现在class的引用方式,下面是一种解决方法,但是实用性不是很大 值得一提的是这个
trait
使用技巧
namespace YourProjectNamespace;
trait ClassEmulationTrait {
static function class(){
return __CLASS__;
}
}
namespace YourProjectNamespace;
class UserRepository{
use ClassEmulationTrait;
}
echo YourProjectNamespace\UserRepository::class();
前段日子,某去投机,结果遇到被问到SSO,就这几年的工作经验实在是没有应用过这种玩意,正好近来闲得发慌,找了些资料研究了一番
SAML Security Assertion Markup Language 安全领域中用来交换认证和授权数据的标准,它是一种基于XML的协议, 在验证器,消费者,和服务器之间使用安全令牌包含断言来传递主要信息。 SAML2.0支持基于web的认证和授权,包括跨域单点登录,有助于减少向用户分发多个身份验证令牌的管理开销