ivanvoitovych / redis-repository
Redis存储库实现。
v1.1.0
2022-09-17 13:53 UTC
This package is auto-updated.
Last update: 2024-09-17 18:22:57 UTC
README
Redis存储库实现。
使用示例
use RedisDb\Models\BaseEntity; class BlogPost extends BaseEntity { public string $Title; public string $SeoTitle; public string $Body; public string $Author; public int $DisplayOrder = 0; public bool $Published = false; public int $Group = 0; }
use RedisDb\Models\BaseEntityDbMap; class BlogPostDbMap extends BaseEntityDbMap { public const ORDER_BY_ORDER = 'DisplayOrder'; public const PROPERTY_Published = 'Published'; public const PROPERTY_Group = 'Group'; public const PROPERTY_SeoTitle = 'SeoTitle'; static array $Indexes = [ 'SeoTitle_UX' => [ 'Unique' => true, 'Properties' => [self::PROPERTY_SeoTitle] ], 'Published_IX' => [ 'Unique' => false, 'Properties' => [self::PROPERTY_Published] ], 'Published-Group_IX' => [ 'Unique' => false, 'Properties' => [ self::PROPERTY_Group, self::PROPERTY_Published ] ] ]; static array $Positions = [ self::ORDER_BY_ORDER => [ 'Properties' => [self::ORDER_BY_ORDER] ] ]; }
$mapper = new StdObjectMapper(); $connector = new RedisConnector(); $repository = new BaseRepository($connector, $mapper, BlogPost::class, BlogPostDbMap::class); $blog = new BlogPost(); $blog->Author = 'Miki the black cat'; $blog->Body = 'body sample'; $blog->DisplayOrder = $i; $blog->Group = $i % 20; $blog->Published = $i % 2 === 1; $blog->SeoTitle = "blog-number-$i"; // unique $blog->Title = "Blog $i"; $repository->Create($blog); $repository->Update($blog); $repository->Delete($blog); $repository->GetList(1, 2, BaseEntityDbMap::ORDER_BY_CreatedOn, 1); $repository->GetList(1, 2, BlogPostDbMap::ORDER_BY_ORDER, 0); $repository->GetByKeys( [ BlogPostDbMap::PROPERTY_Group => $group, BlogPostDbMap::PROPERTY_Published => $group % 2 === 1 ], 1, 5, 1, BlogPostDbMap::ORDER_BY_ORDER );
许可证
MIT许可证
版权所有 (c) 2022-至今 Ivan Voitovych
请参阅LICENSE以获取许可证文本
法律
通过提交拉取请求,您放弃对Viewi项目提交的任何权利或要求,并将这些更改的版权授予Ivan Voitovych。
如果您无法或不想转让这些权利(您的雇主的工作合同可能不允许这样做),您不应提交PR。打开一个问题,其他人可以完成这项工作。
这是法律上的一种说法,“如果您向我们提交PR,那么代码就变成我们的。” 99.9% 的情况下,这正是您的意图;我们希望这不会让您害怕贡献。