{"id":19756814,"url":"https://github.com/imiphp/imi-shared-memory","last_synced_at":"2025-07-05T12:37:59.732Z","repository":{"id":52214587,"uuid":"162405825","full_name":"imiphp/imi-shared-memory","owner":"imiphp","description":"imi 框架跨进程变量共享组件。QQ群：17916227","archived":false,"fork":false,"pushed_at":"2023-12-11T03:56:39.000Z","size":172,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"2.0","last_synced_at":"2024-05-23T02:01:48.682Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.imiphp.com/","language":"PHP","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imiphp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-12-19T08:22:56.000Z","updated_at":"2023-11-11T10:30:13.000Z","dependencies_parsed_at":"2023-10-12T06:03:52.280Z","dependency_job_id":"15e0e7c4-7d79-46fe-ad0c-61f3ad9839fe","html_url":"https://github.com/imiphp/imi-shared-memory","commit_stats":{"total_commits":27,"total_committers":1,"mean_commits":27.0,"dds":0.0,"last_synced_commit":"f9037d110539455bfa1656413d075eae056576db"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imiphp%2Fimi-shared-memory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imiphp%2Fimi-shared-memory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imiphp%2Fimi-shared-memory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imiphp%2Fimi-shared-memory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imiphp","download_url":"https://codeload.github.com/imiphp/imi-shared-memory/tar.gz/refs/heads/2.0","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224207897,"owners_count":17273674,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T03:17:01.465Z","updated_at":"2024-11-12T03:17:02.111Z","avatar_url":"https://github.com/imiphp.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# imi-shared-memory\n\n[![Latest Version](https://img.shields.io/packagist/v/imiphp/imi-shared-memory.svg)](https://packagist.org/packages/imiphp/imi-shared-memory)\n[![Php Version](https://img.shields.io/badge/php-%3E=7.4-brightgreen.svg)](https://secure.php.net/)\n[![Swoole Version](https://img.shields.io/badge/swoole-%3E=4.1.0-brightgreen.svg)](https://github.com/swoole/swoole-src)\n[![IMI License](https://img.shields.io/github/license/imiphp/imi-shared-memory.svg)](https://github.com/imiphp/imi-shared-memory/blob/master/LICENSE)\n\n## 介绍\n\n基于 [Swoole Shared Memory](https://github.com/Yurunsoft/swoole-shared-memory) 开发的 `imi` 框架跨进程变量共享组件。\n\n\u003e 本仓库仅用于浏览，不接受 issue 和 Pull Requests，请前往：\u003chttps://github.com/imiphp/imi\u003e\n\n## Composer\n\n本项目可以使用composer安装，遵循psr-4自动加载规则，在你的 `composer.json` 中加入下面的内容:\n\n```json\n{\n    \"require\": {\n        \"imiphp/imi-shared-memory\": \"~2.0.0\"\n    }\n}\n```\n\n然后执行 `composer update` 安装。\n\n## 使用\n\n在项目 `config/config.php` 中配置：\n\n```php\n[\n    'components'    =\u003e  [\n        // 引入本组件\n        'SharedMemory'    =\u003e  'Imi\\SharedMemory',\n    ],\n    'pools'    =\u003e    [\n        // 客户端连接池\n        'sharedMemory'  =\u003e  [\n            'async' =\u003e  [\n                'pool'    =\u003e    [\n                    'class'        =\u003e    \\Imi\\SharedMemory\\Pool\\ClientPool::class,\n                    'config'    =\u003e    [\n                        'maxResources'    =\u003e    100,\n                        'minResources'    =\u003e    0,\n                    ],\n                ],\n                'resource'  =\u003e  [\n                    // 以下为可选配置\n\n                    // 存储器类型，注意和下面的类名不同\n                    // 'storeTypes'    =\u003e  [\n                    //     \\Yurun\\Swoole\\SharedMemory\\Client\\Store\\KV::class,\n                    //     \\Yurun\\Swoole\\SharedMemory\\Client\\Store\\Stack::class,\n                    //     \\Yurun\\Swoole\\SharedMemory\\Client\\Store\\Queue::class,\n                    //     \\Yurun\\Swoole\\SharedMemory\\Client\\Store\\PriorityQueue::class,\n                    //      'name'  =\u003e  'XXXClass',\n                    // ],\n\n                    // unix socket 文件名，默认会自动放 runtime 目录中\n                    // 'socketFile'    =\u003e  '',\n                ],\n            ],\n        ]\n    ],\n    // 以下为可选配置\n    // 'swooleSharedMemory'    =\u003e  [\n        // unix socket 文件名，默认会自动放 runtime 目录中\n        // 'socketFile'    =\u003e  '',\n\n        // 存储器类型，注意和上面的类名不同\n        // 'storeTypes'    =\u003e  [\n        //     \\Yurun\\Swoole\\SharedMemory\\Store\\KV::class,\n        //     \\Yurun\\Swoole\\SharedMemory\\Store\\Stack::class,\n        //     \\Yurun\\Swoole\\SharedMemory\\Store\\Queue::class,\n        //     \\Yurun\\Swoole\\SharedMemory\\Store\\PriorityQueue::class,\n        //      'name'  =\u003e  'XXXClass',\n        // ],\n\n        // 默认连接池名\n        // 'defaultPool'   =\u003e  'sharedMemory'\n    // ],\n]\n```\n\n在代码中操作：\n\n```php\n// 方法一\nSharedMemory::use('KV', function(\\Yurun\\Swoole\\SharedMemory\\Client\\Store\\KV $kv){\n    $kv-\u003eset('a', 1);\n});\n\n// 方法二\n$kv = SharedMemory::getInstance()-\u003egetObject('KV');\n$kv-\u003eset('a', 1);\n```\n\n## 免费技术支持\n\nQQ群：17916227 [![点击加群](https://pub.idqqimg.com/wpa/images/group.png \"点击加群\")](https://jq.qq.com/?_wv=1027\u0026k=5wXf4Zq)，如有问题会有人解答和修复。\n\n## 运行环境\n\n- [PHP](https://php.net/) \u003e= 7.4\n- [Composer](https://getcomposer.org/) \u003e= 2.0\n- [Swoole](https://www.swoole.com/) \u003e= 4.1.0\n\n## 版权信息\n\n`imi-shared-memory` 遵循 MIT 开源协议发布，并提供免费使用。\n\n## 捐赠\n\n\u003cimg src=\"https://raw.githubusercontent.com/imiphp/imi/2.0/res/pay.png\"/\u003e\n\n开源不求盈利，多少都是心意，生活不易，随缘随缘……\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimiphp%2Fimi-shared-memory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimiphp%2Fimi-shared-memory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimiphp%2Fimi-shared-memory/lists"}