自己平時寫**時用到的,springboot整合redis,這裡只寫寫如何封裝常用操作。這裡使用redis連線池,方便操作。
1、構建實體類:通過實體類來傳遞引數
1.1、先看配置檔案
#redis
redis.host=127.0.0.1
redis.port=6379
redis.timeout=3
redis.password=123456
redis.poolmaxtotal=10
redis.poolmaxidle=10
redis.poolmaxwait=3
1.2、根據配置檔案的屬性來設計實體類
@component
@configurationproperties(prefix = "redis") //把同類的配置資訊自動封裝成實體類
public class redisconfig
2、構建連線池:根據引數配置,返回自定義連線池
@service
public class redispoolfactory
}
3、封裝操作:通過連線池,獲得jedis物件完成具體操作
@service
public class redisservice finally
}/**
* 設定物件
* */
public boolean set(keyprefix prefix, string key, t value)
//生成真正的key
string realkey = prefix.getprefix() + key;
int seconds = prefix.expireseconds();
if(seconds <= 0) else
return true;
}finally
}/**
* 判斷key是否存在
* */
public boolean exists(keyprefix prefix, string key) finally
}/**
* 增加值
* */
public long incr(keyprefix prefix, string key) finally
}/**
* 減少值
* */
public long decr(keyprefix prefix, string key) finally
}private string beantostring(t value)
class<?> clazz = value.getclass();
if(clazz == int.class || clazz == integer.class) else if(clazz == string.class) else if(clazz == long.class || clazz == long.class) else
}@suppresswarnings("unchecked")
private t stringtobean(string str, classclazz)
if(clazz == int.class || clazz == integer.class) else if(clazz == string.class) else if(clazz == long.class || clazz == long.class) else
}private void returntopool(jedis jedis)
}}
其中的keyprefix類,是為了保證key的唯一性,也是為了方便區分各種key而加的字首,詳情請見
通用快取key的封裝
redis操作封裝類
class redis 設定redis配置 執行前,配置會被重置為 host port 6379 access public param array conf 配置檔案集合,包含引數 string host 伺服器位址 string port 伺服器端口 return void public fun...
node 操作redis 工具類
const redis require ioredis const redisconfig require config env redis const redis newredis redisconfig.redis handle redis error logger error redis.on...
jedis操作redis中的key(封裝)
還有一篇文章封裝了一些 操作redis中的list 還有一篇文章封裝了一些 操作redis中的set 還有一篇文章封裝了一些 操作redis中的hash package me.ele.redis import redis.clients.jedis.jedis 操作redis中的key author...