Download the PHP package dongnan/linkcache without Composer

On this page you can find all versions of the php package dongnan/linkcache. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package linkcache

LinkCache - 一个灵活高效的PHP缓存工具库

LinkCache 是一个PHP编写的灵活高效的缓存工具库,提供多种缓存驱动支持,包括Memcache、Memcached、Redis、SSDB、文件缓存、APC、YAC等。通过LinkCache可以使不同缓存驱动实现操作统一,同时又可发挥不同缓存驱动各自的优势。LinkCache支持缓存 objectarray,同时为防止产生惊群现象做了优化。

环境要求

安装

composer 安装

LinkCache 可以通过 composer 安装,使用以下命令从 composer 下载安装 LinkCache

手动下载安装

下载地址

安装方法

在你的入口文件中引入

如何使用

(提示:如果以下锚点定位的链接错误,导致页面找不到等问题,请访问 https://github.com/dongnan/LinkCache 查看文档)

config

配置信息

instance

实例化缓存对象

getDriver

获取缓存驱动实例

所有缓存驱动都必须实现 linkcache\interfaces\driver\Base 接口的方法,获取到缓存驱动实例后,可直接使用缓存驱动的方法,包括缓存驱动中没有定义但缓存驱动扩展对象中已定义的方法。

set

将参数中的 value 设置为 key 的值

参数

返回值

Boolean 如果设置成功,返回 true; 如果设置失败,返回 false

例子

setnx

当缓存中不存在 key 时,将参数中的 value 设置为 key 的值

参数

返回值

Boolean - 如果设置成功,返回 true; 如果设置失败,返回 false

例子

setDE

将参数中的 value设置为 key 的值,key 将自动延迟过期

参数

返回值

Boolean - 如果设置成功,返回 true; 如果设置失败,返回 false

例子

get

获取 key 对应的值

参数

返回值

Mixed - key 对应的值; 如果获取失败或 key 不存在,返回 false

例子

getDE

获取 key 对应的值,与 setDE 配合使用

参数

返回值

Mixed - key 对应的值; 如果获取失败或 key 不存在,返回 false

例子

del

删除 key

参数

返回值

Boolean - 如果删除成功,返回 true; 如果删除失败,返回 false注意:key 不存在时,也会返回 true

例子

has

判断 key 是否存在

参数

返回值

Boolean - 如果 key 存在,返回 true;如果 key 不存在,返回 false

例子

hasDE

判断延迟过期的 key 理论上是否存在。设置自动延期的 key,过期时间实际会被修改,用方法 has 判断的话,可能 key 仍然存在,但是理论上已经过期了

参数

返回值

Boolean - 如果 key 存在,返回 true;如果 key 不存在,返回 false

例子

ttl

获取 key 的生存时间(单位:s)

参数

返回值

Mixed - 生存剩余时间(单位:秒) -1 表示永不过期,-2 表示 key 不存在,失败返回 false

例子

ttlDE

获取延迟过期的 key 理论上的生存时间(单位:s)。

参数

返回值

Mixed - 生存剩余时间(单位:秒) -1 表示永不过期,-2 表示 key 不存在,失败返回 false

例子

expire

设置一个 key 的生存时间(单位:s)

参数

返回值

Boolean - 如果设置成功,返回 true; 如果设置失败或 key 不存在,返回 false

例子

expireDE

以延迟过期的方式设置一个 key 的生存时间(单位:s)

参数

返回值

Boolean - 如果设置成功,返回 true; 如果设置失败或 key 不存在,返回 false

例子

expireAt

用UNIX时间戳设置一个 key 的过期时间

参数

返回值

Boolean - 如果设置成功,返回 true; 如果设置失败或 key 不存在,返回 false

例子

expireAtDE

以延迟过期的方式用UNIX时间戳设置一个 key 的过期时间

参数

返回值

Boolean - 如果设置成功,返回 true; 如果设置失败或 key 不存在,返回 false

例子

persist

删除一个 key 的生存时间,使其永不过期

参数

返回值

Boolean - 如果设置成功,返回 true; 如果设置失败或 key 不存在,返回 false

例子

lock

key 设置锁标记(此锁并不对 key 做修改限制,仅为 key 的锁标记)

参数

返回值

Boolean - 如果设置成功,返回 true; 如果 key 已存在或设置失败,返回 false

例子

isLock

判断 key 是否有锁标记

参数

返回值

Boolean - 如果有锁标记,返回 true; 如果没有锁标记或判断失败,返回 false

例子

unLock

移除 key 的锁标记

参数

返回值

Boolean - 如果移除成功,返回 true; 如果失败,返回 false

例子

incr

设置 key 的值按整数递增

参数

返回值

Mixed - 递增后的值,失败返回 false,如果 key 不存在,则按 step 设置新值

例子

incrByFloat

设置 key 的值按浮点数递增

参数

返回值

Mixed - 递增后的值,失败返回 false,如果 key 不存在,则按 float 设置新值

例子

decr

设置 key 的值按整数递减

参数

返回值

Mixed - 递减后的值,失败返回 false,如果 key 不存在,则按 -step 设置新值

例子

mSet

批量设置多个 key 对应的值

参数

返回值

Boolean - 如果设置成功,返回 true; 如果设置失败,返回 false

例子

mSetNX

当缓存中不存在 key 时,批量设置多个 key 对应的值

参数

返回值

Boolean - 如果设置成功,返回 true; 如果设置失败,返回 false

例子

mGet

获取所有给定 key 的值

参数

返回值

array - 参数 keys 中的所有 key 与对应的 value 组成的数组,如果 key 不存在或是获取失败,对应的 value 值为 false

例子

mHas

批量判断 key 是否存在

参数

返回值

array - 返回存在的 key 的数组,如果判断失败返回 false

例子

mDel

批量删除 key

参数

返回值

Boolean - 如果删除成功,返回 true; 如果删除失败,返回 false

例子

如何防止惊群

什么是惊群

首先,我们使用缓存的主要目的就是为了高并发情况下的高可用,换句话说,在使用了缓存的高并发的系统下,如果缓存突然都消失了,会发生什么?首先数据库的压力必然骤增,接着负载迅速升高,响应时间变慢,进程/线程由于响应时间变慢导致集压并剧增,这就是惊群。惊群的后果就是系统不可用甚至宕机。当然这是一个非常极端的例子,但是能很好的解释惊群现象。真实环境中,可能会有个一些页面是访问非常频繁的,如果这些页面的缓存在同一时间或相近的时间突然过期了,在高并发的情况下也会产生惊群现象。

如何避免惊群

知道了什么是惊群,就不难防止惊群了。首先,避免缓存在同一时间过期;其次,如果缓存过期,不要让所有并发的进程/线程都去触发更新同一缓存数据。

例子

LinkCache 为此专门做了优化,使用 LinkCache 提供的一些特殊方法,可以有效的防止惊群现象。以下是简单的示例(伪代码):

默认情况说明

cache

drivers

files

memcache

memcached

redis

ssdb

apc

yac

开发

如果你觉得LinkCache还不错,但又不支持你想用的缓存驱动,不妨尝试在LinkCache新增该缓存驱动的支持。

1.增加新的缓存驱动

目前有两种方式可以方便的开发新的缓存驱动支持

2.测试新增的驱动

为了保证代码的可靠性,不妨对新增的驱动做个测试吧。 我使用的是PHPUnit做的测试,版本:4.8.15

LICENSE

使用非常灵活宽松的 New BSD License 协议


All versions of linkcache with dependencies

PHP Build Version
Package Version
Requires php Version >=5.4.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package dongnan/linkcache contains the following files

Loading the files please wait ....