Skip to content

Commit 406badf

Browse files
authored
Merge pull request #228 from dotkernel/isuue-217
Implemented dot-cache
2 parents e4c3081 + 94d8134 commit 406badf

8 files changed

Lines changed: 31 additions & 3 deletions

File tree

composer.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"php": "~8.2.0 || ~8.3.0",
3131
"ext-gettext": "*",
3232
"dotkernel/dot-annotated-services": "^4.1.7",
33+
"dotkernel/dot-cache": "^4.0",
3334
"dotkernel/dot-cli": "^3.5.0",
3435
"dotkernel/dot-controller": "^3.4.3",
3536
"dotkernel/dot-data-fixtures": "^1.1.3",

config/autoload/doctrine.global.php

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
use Doctrine\ORM\EntityManager;
66
use Doctrine\ORM\EntityManagerInterface;
77
use Doctrine\Persistence\Mapping\Driver\MappingDriverChain;
8+
use Dot\Cache\Adapter\ArrayAdapter;
9+
use Dot\Cache\Adapter\FilesystemAdapter;
810
use Frontend\App\Resolver\EntityListenerResolver;
911
use Ramsey\Uuid\Doctrine\UuidBinaryOrderedTimeType;
1012
use Ramsey\Uuid\Doctrine\UuidBinaryType;
@@ -26,6 +28,17 @@
2628
'configuration' => [
2729
'orm_default' => [
2830
'entity_listener_resolver' => EntityListenerResolver::class,
31+
'result_cache' => 'filesystem',
32+
'metadata_cache' => 'filesystem',
33+
'query_cache' => 'filesystem',
34+
'hydration_cache' => 'array',
35+
'second_level_cache' => [
36+
'enabled' => true,
37+
'default_lifetime' => 3600,
38+
'default_lock_lifetime' => 60,
39+
'file_lock_region_directory' => '',
40+
'regions' => [],
41+
],
2942
],
3043
],
3144
'connection' => [
@@ -49,6 +62,16 @@
4962
UuidBinaryType::NAME => UuidBinaryType::class,
5063
UuidBinaryOrderedTimeType::NAME => UuidBinaryOrderedTimeType::class,
5164
],
65+
'cache' => [
66+
'array' => [
67+
'class' => ArrayAdapter::class,
68+
],
69+
'filesystem' => [
70+
'class' => FilesystemAdapter::class,
71+
'directory' => getcwd() . '/data/cache',
72+
'namespace' => 'doctrine',
73+
],
74+
],
5275
'fixtures' => getcwd() . '/data/doctrine/fixtures',
5376
],
5477
'resultCacheLifetime' => 300,

config/config.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
Dot\Session\ConfigProvider::class,
4444
Dot\Twig\ConfigProvider::class,
4545
Dot\UserAgentSniffer\ConfigProvider::class,
46+
Dot\Cache\ConfigProvider::class,
4647

4748
// Include cache configuration
4849
new ArrayProvider($cacheConfig),

src/Admin/src/Entity/Admin.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#[ORM\Entity(repositoryClass: AdminRepository::class)]
1717
#[ORM\Table(name: "admin")]
1818
#[ORM\HasLifecycleCallbacks]
19+
#[ORM\Cache(usage: "NONSTRICT_READ_WRITE")]
1920
class Admin extends AbstractEntity implements AdminInterface
2021
{
2122
public const STATUS_ACTIVE = 'active';

src/Admin/src/Entity/AdminLogin.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#[ORM\Entity(repositoryClass: AdminLoginRepository::class)]
1212
#[ORM\Table(name: 'admin_login')]
1313
#[ORM\HasLifecycleCallbacks]
14+
#[ORM\Cache(usage: "NONSTRICT_READ_WRITE")]
1415
class AdminLogin extends AbstractEntity
1516
{
1617
public const IS_MOBILE_YES = 'yes';

src/Admin/src/Entity/AdminRole.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#[ORM\Entity(repositoryClass: AdminRoleRepository::class)]
1212
#[ORM\Table(name: 'admin_role')]
1313
#[ORM\HasLifecycleCallbacks]
14+
#[ORM\Cache(usage: "NONSTRICT_READ_WRITE")]
1415
class AdminRole extends AbstractEntity
1516
{
1617
public const ROLE_ADMIN = 'admin';

src/Admin/src/Repository/AdminRepository.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public function getAdmins(
7676
->setParameter('search', '%' . $search . '%');
7777
}
7878

79-
return $qb->getQuery()->useQueryCache(true)->getResult();
79+
return $qb->getQuery()->setCacheable(true)->getResult();
8080
}
8181

8282
/**
@@ -93,9 +93,9 @@ public function getAdminLogins(
9393
->from(AdminLogin::class, 'adminLogin')
9494
->setFirstResult($offset)
9595
->setMaxResults($limit)
96+
->setCacheable(true)
9697
->orderBy('adminLogin.' . $sort, $order)
9798
->getQuery()
98-
->useQueryCache(true)
9999
->getResult();
100100
}
101101

src/Admin/src/Repository/AdminRoleRepository.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public function findByName(string $name): ?AdminRole
3131
->andWhere('role.name = :name')
3232
->setParameter('name', $name)
3333
->getQuery()
34-
->useQueryCache(true)
34+
->setCacheable(true)
3535
->getOneOrNullResult();
3636
}
3737

0 commit comments

Comments
 (0)