mitirrli/redis-package

Redis外围应用。

0.0.6 2021-03-25 10:08 UTC

This package is auto-updated.

Last update: 2024-09-25 18:11:24 UTC


README

Total Downloads Latest Stable Version Latest Unstable Version License

简单的redis包。

安装

$ composer require "mitirrli/redis-package"

Redis分布式锁

业务逻辑加锁,防止同时操作同一数据

App::setRedis()

如果不使用默认配置,可以注入redis对象,返回App对象本身。

$redis = new \Redis();
$redis->connect('redis-template.cc');

$app = App::setRedis($redis);

App::Lock()

获取Lock对象,同时传入配置项(设置锁的名字,默认加锁时间为10分钟,key为必传项)

$Lock = $app::Lock(['key' => 'demo1']);

设置加锁时间为1000秒。

$Lock = $app::Lock(['key' => 'demo2', 'time' => 1000]);

lock()

进行加锁操作,加锁结果以布尔值返回。

$Lock->lock()

unLock()

进行解锁操作,解锁结果以布尔值返回。

$Lock->unLock()

Redis固定数组

固定大小的数组,元素填满后会弹出之前的元素,可用于轮播数据等。

App::FixedArray()

获取FixedArray对象,同时传入配置项(设置key的名字,key为必传项)

$FixedArray = $app::FixedArray(['key' => 'demo1']);

设置元素数量20个。

$FixedArray = $app::FixedArray(['key' => 'demo2', 'len' => 20]);

toList()

向数组中加入数据,最后返回数组元素的数目。

$FixedArray->toList('test data');

lLen()

获取数组元素的数目。

$FixedArray->lLen();

getItemByIndex()

根据数组索引获取数据,索引从0开始,如果没有对应值会抛出异常。

$FixedArray->getItemByIndex(0);

Redis有序集合

固定大小的有序集合。

App::FixedSortSet()

获取FixedSortSet对象,同时传入配置项(设置key的名字,key为必传项)

$FixedSortSet = $app::FixedSortSet((['key' => 'demo1']);

设置集合数量20个。

$FixedSortSet = $app::FixedSortSet(['key' => 'demo2', 'len' => 20]);

toList()

向集合中加入数据。

$FixedSortSet->toList('test data');

getByIndex()

获取指定下标的数据(数据由大到小)。

$FixedSortSet->getByIndex(0);