mitirrli/redis-package

Redis periphery applications.

0.0.6 2021-03-25 10:08 UTC

This package is auto-updated.

Last update: 2024-04-25 16:57:41 UTC


README

Total Downloads Latest Stable Version Latest Unstable Version License

A simple redis packages.

Installation

$ composer require "mitirrli/redis-package"

Redis Distributed lock

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

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 Fixed Array

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

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 Sort Set

固定大小的有序集合。

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);