PHPackages                             catlane/slink - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. catlane/slink

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

catlane/slink
=============

Generate short url | PHP实现轻量稳定且易用短链接短网址服务

v1.2(5y ago)1112MITPHPPHP &gt;=7.1.0

Since Nov 16Pushed 5y ago1 watchersCompare

[ Source](https://github.com/catlane/slink)[ Packagist](https://packagist.org/packages/catlane/slink)[ RSS](/packages/catlane-slink/feed)WikiDiscussions main Synced today

READMEChangelogDependenciesVersions (4)Used By (0)

copy自yymou/slink
================

[](#copy自yymouslink)

我在大佬得基础上添加了：指定指定db、批量创建因为单例导致失败、添加永久得短链接

因为急用，故自己修改

Slink
=====

[](#slink)

利用redis实现的常用的短链服务, 支持redis一主多从配置, 速度快且运行稳定(建议开启redis持久化), 能满足亿级别的链接转化需求. 底层使用redis发号器递增转换成62进制,但根据简单算法实现了短链接非递增返回. 解析短链依托redis,速度快.

#### 使用:

[](#使用)

- 1 使用composer引入

    - 执行 `composer require yymou/slink`
    - 项目中引入composer `require 'vendor/autoload.php';`
- 2 项目中使用

    - 设置redis连接: 通用配置 &gt; 读写分离配置
        - 通用配置 :
            - ```
                  Slink\App::getInstance()->setCommonRedis([
                     'hostname' => '127.0.0.1',
                     'password' => '',
                     'port' => '6379',
                     'timeout' => '5',
                     'db' => '5',
                 ]);

                ```
        - 读写分离配置 :
            - ```
                Slink\App::getInstance()->setClusterRedis([
                     'write' => [
                         'hostname' => '127.0.0.2',
                     ],
                     //支持设置多个读库
                     'read' => [
                         [
                             'hostname' => '127.0.0.3',
                         ],
                         [
                             'hostname' => '127.0.0.4',
                         ]
                     ],
                 ]);

                ```

        > 如使用读写分离配置,则不可设置通用配置,否则不生效;
    - 设置redis前缀(可选) ```
        Slink\App::getInstance()->setRedisPrefix('slink:test');

        ```

        > 如不设置则默认前缀为slink
    - 设置原始链接缓存过期时间(可选) (如设置一天则 24小时内同样的链接会返回相同的短链) 单位为秒 ```
        Slink\App::getInstance()->setOlinkCacheTtl(86400*2);

        ```

        > 如不设置则默认缓存时间为永久
    - 设置返回短链长度(可选) 生成短链长度 推荐是7位 一旦项目启动禁止修改该值 7位生成的数量我62的*6*次方 最小为4 ```
        Slink\App::getInstance()->setSlinkLen(7);

        ```
    - **生成短链接实例**```
            $slink = Slink\App::getInstance()->getSlink('https://www.baidu.com');

        ```
    - **短连接解析**

    ```
         $olink =Slink\App::getInstance()->getOlink('gikmor1');

    ```

    > 项目通过短链获取原始链接后,可通过302定向原始的url地址

> 有意见或问题可以随时联系我交流哈 qq:875167485 WeChat:yangmeng6036

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 80% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

2054d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/22951693?v=4)[杨宇辉](/maintainers/catlane)[@catlane](https://github.com/catlane)

---

Top Contributors

[![catlane66666](https://avatars.githubusercontent.com/u/170673244?v=4)](https://github.com/catlane66666 "catlane66666 (4 commits)")[![catlane](https://avatars.githubusercontent.com/u/22951693?v=4)](https://github.com/catlane "catlane (1 commits)")

---

Tags

shorturl slink php

### Embed Badge

![Health badge](/badges/catlane-slink/health.svg)

```
[![Health](https://phpackages.com/badges/catlane-slink/health.svg)](https://phpackages.com/packages/catlane-slink)
```

###  Alternatives

[cakedc/tiny-mce

TinyMCE Plugin for CakePHP

10790.7k](/packages/cakedc-tiny-mce)[wbraganca/yii2-nested-set-behavior

This extension allows you to get functional for nested set trees.

229.4k](/packages/wbraganca-yii2-nested-set-behavior)[wp-media/rocket-lazy-load

Lazy Load images and iframes without jQuery

241.2k](/packages/wp-media-rocket-lazy-load)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
