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是負數,內容從尾部開...