node 操作redis 工具類

2021-09-12 12:37:08 字數 3193 閱讀 3156

const redis =

require

('ioredis');

const redisconfig =

require

('../config/env')(

'redis');

const redis =

newredis

(redisconfig.redis)

;// handle redis error

// logger error

redis.on(

'error'

,(err)

=>);

class

redisdao

key

* @param value

* @param expire - 秒

*/static

async

set(key, value, expire)

await redis.

set(key, value,

'ex'

, expire);}

/** * get 普通的set/get 字串型

* @param key

*/static

async

get(key)

/** * sadd 無序集合set

* @param key

* @param value

* @param expire - 秒

*/static

async

sadd

(key, value, expire)

return

await redis.

multi()

.sadd

(key, value)

.expire

(key, expire)

.exec()

;}/** * smember 無序集合set, 返回無序集合所有值

* @param key

* @return

*/static

async

smembers

(key)

/** * zadd 有序集合插入 score

* @param key

* @param score

* @param value

* @param expire - 秒

*/static

async

zadd

(key, score, value, expire)

return

await redis.

multi()

.zadd

(key, score, value)

.expire

(key, expire)

.exec()

;}/** * zrange 獲取有序集合值

* @param key

* @param start

* @param stop

* @example let res = await redisdao.zrange('lll',0,-1); //查詢全部

*/static

async

zrange

(key, start, stop)

/** * hmset hash用於儲存物件

* @param key

* @param value

* @param expire - 秒

*/static

async

hmset

(key, value, expire)

return

await redis.

multi()

.hmset

(key, value)

.expire

(key, expire)

.exec()

;}/** * hget hash返回value物件中指定的字段

* @param key

* @param colum

*/static

async

hget

(key, colum)

/** * hgetall hash返回全部的value

* @param key

*/static

async

hgetall

(key)

/** * pub/sub reids發布訂閱 - 訂閱者

* @param channel - 訂閱的頻道

* @example

async () => )}*/

static

async

sub(channel)

/** * pub/sub reids發布訂閱 - 發布者

* @param channel - 訂閱的頻道

* @param message - 傳送的訊息

* @example

redisutil.pub('test_channel', 'this is pub essage')

*/static

async

pub(channel, message)

/** * del 刪除key

* @param key

*/static

async

del(key)

/** * hdel 刪除hash 中的字段

* @param key

* @param colum

*/static

async

hdel

(key, colum)

/** * ttl 查詢剩餘時間

* @param key

*/static

async

ttl(key)

/** * exists 查詢是否存在key 1存在 0不存在

* @param key

*/static

async

exists

(key)

}module.exports = redisdao;

redis工具類解析

1 首先在spring redis.xml檔案中配置了jedispoolconfig這樣乙個bean,其對應的class是com sowell redis route redisinitutil,同時在spring載入的時候會呼叫這個類中的init方法。這個方法的作用如下 如果資料庫開啟了redis...

高效Redis工具類

在日常的開發中,我們或多或少 必須 的會用到快取。為了提高系統效能 提公升使用者體驗度,使用者體驗是多麼的重要 這就要求在軟體設計時,不但要注重可靠性 安全性 可擴充套件性以及可維護性等等的一些指標,更要注重使用者的體驗,使用者體驗分很多方面,但是有一點非常重要就是對使用者操作的響應一定要快 怎樣提...

Redis 工具類 鎖

list刪除指定元素 public final long lrem string key,long count,string value finally return var5 從列表中從頭部開始移除count個匹配的值。如果count為零,所有匹配的元素都被刪除。如果count是負數,內容從尾部開...