https://github.com/gavinning/rediskit
Redis工具包
https://github.com/gavinning/rediskit
god-redis-kit redis redis-kit rediskit
Last synced: 3 months ago
JSON representation
Redis工具包
- Host: GitHub
- URL: https://github.com/gavinning/rediskit
- Owner: gavinning
- Created: 2019-03-15T11:30:37.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2021-10-12T04:19:57.000Z (almost 5 years ago)
- Last Synced: 2025-03-21T06:34:29.029Z (over 1 year ago)
- Topics: god-redis-kit, redis, redis-kit, rediskit
- Language: JavaScript
- Size: 30.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
RedisKit
---
Redis工具包
### Install
```sh
npm i @4a/rediskit
```
### Usage
```js
// redis client需支持promise, 推荐使用ioredis
const redis = require('ioredis')()
const { Stock, Increment } = require('@4a/rediskit')(redis)
```
### Stock
基于``Redis``简单的队列操作
```js
Stock.init('app:stock:apple')
Stock.init('app:stock', apple)
Stock.init('app:stock', apple, 'price', ...)
const stock = Stock.init('app:stock:apple', id)
await stock.get()
await stock.set(arr, time)
await stock.save(arr, time)
await stock.prepend(item)
await stock.append(item)
await stock.pop()
await stock.shift()
await stock.remove(item)
await stock.remove(item => item.type === 1)
await stock.find(callback)
await stock.findIndex(callback)
await stock.map(callback)
await stock.each(callback)
await stock.slice(start, end)
await stock.clear()
await stock.expire()
await stock.expire(60)
```
### Increment API
基于``Redis.incr``的安全计数
```js
Increment.init('app:incr:apple')
Increment.init('app:stock', apple, 'price', ...)
const increment = Increment.init('app:stock:apple', id)
await increment.isRepeat()
await increment.isNotRepeat()
await increment.isOutRange(10)
await increment.isInRange(10)
await increment.isInRange(10, 3)
await increment.increment()
await increment.decrement()
await increment.clear()
await increment.expire()
await increment.expire(60)
```
Example
---
> npm test