mitirrli / redis-package
Redis periphery applications.
0.0.6
2021-03-25 10:08 UTC
Requires
- ext-redis: *
- phpunit/phpunit: ^7
README
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);