Symfonyob娱乐下载 4.2中的新功能:基于pdo的锁存储
2018年9月21日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载.
提供的
杰里米Derusse
在# 27456.
的锁组件是在Symfony 3.4中引入的,ob娱乐下载用于创建和管理锁,这是一种提供对共享资源的独占访问的机制。开箱即用,它支持本地锁(文件、信号量)和分布式锁(Memcache、Redis)的不同存储。在Syob娱乐下载mfony 4.2中,我们添加了一个新的基于pdo的锁存储.
这是有意义的,因为大多数Symfony应用程序已经使用MySob娱乐下载QL/MariaDB或PostgreSQL进行数据持久性。然而,这种新的存储不依赖于这些数据库的内置锁定机制(pg_advisory_lock_shared
用于PostgreSQL和GET_LOCK
MySQL/MariaDB),因为它们不够可靠。它们依赖于TCP连接,需要对数据库引擎进行微调,以便在重新启动后不接受新连接,或者定义一个大于最大锁定持续时间的连接超时。
新PdoStore
类需要一个PDO对象,一个Doctrine DBAL Connection对象或一个DSN(数据源名称)字符串来配置存储:
1 2 3 4 5 6 7 8
使用ob娱乐下载\组件\锁\商店\PdoStore;// PDO, Doctrine DBAL连接或通过PDO进行延迟连接的DSN$databaseConnectionOrDSN=“mysql:主机= 127.0.0.1;dbname =锁';$商店=新PdoStore ($databaseConnectionOrDSN, (“db_username”= >“myuser”,“db_password”= >“我的密码”]);
然后,创建存储锁信息的表。您可以使用不知道()
方法PdoStore
类来做到这一点:
1 2 3 4 5
试一试{$商店->不知道();}抓(\ PDOException$异常) {//由于某些原因无法创建表}
现在您可以创建和管理基于pdo的锁在文档中有解释对于任何其他锁类型。
发表在#生活在边缘
评论
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。
Jérémy DERUSSÉ is a certified Twig designer.
Get certified! Online exams available in all countries.
Register Now看看文档https://symfony欧宝官网下载app.com/doc/mastob娱乐下载er/components/lock.html#id3