redis使用教程,redis工具类封装
使用redis工具类
在此使用StringRedisTemplate和ObjectMapper,作为变换对象使用直接上码/** redis操作系统,使用这种自动无线注入
author :江洪玉
*/
@Service
公共类讨论模块{
@Autowired
隐私保护独立模板;
@Autowired
私有对象映射器;
//*
是否包含Key@param key@return
*/
publicbooleanhaskey (字符串密钥) {
returnstringredistemplate.has key (key;
(/**
redis time的默认单位是时间。 请计算并使用@param key@param o@param time
*/
公共语音集(字符串密钥、对象o、长时间) {
this.Delkey(key;
if(stringutils.isempty(o ) ) return;
stringredistemplate.ops for value ().set ) key,JSON.toJSONString(o ),time,TimeUnit.HOURS );
(/**
value=1@param key@return
*/
publiclongincr (字符串密钥) {
long increment=stringredistemplate.ops for value ().increment )密钥;
返回增量;
(/**
获取缓存数据并将其批量恢复为字符串类型。 使用时请自行转换@param key@return
*/
公共字符串获取(字符串密钥) {
returnstringredistemplate.ops for value ().get );
(/**
redis删除各个key@param key@return
*/
publicbooleandelkey (字符串密钥) {
returnstringredistemplate.delete (key;
(/**
模糊删除key@param keys@return
/
publiclongdelkeys (字符串密钥) {
setkey=stringredistemplate.keys (keys ' );
returnstringredistemplate.delete (key;
}
/*在此请注意rightPushAll的孔。 以下各篇详细介绍了将@param key@param list添加到右边
*/
publicvoidrightpushall (字符串密钥,列表) throws JsonProcessingException { )。
//删除后添加
this.Delkey(key;
string [ ] obj arr=new string [ list.size (];
for(intI=0; i list.size (; I ) {
obj arr [ I ]=this.bean tostring (list.get ) I );
}
stringRedisTemplate.opsForList ().rightpushall(key,objArr );
(/**
redis分布式锁定时间的单位为分钟。 请自行计算@ param key @ param value @ param time @ return
*/
publicbooleansetifabsent (字符串密钥、字符串值、长时间) {
returnstringredistemplate.ops for value ().setifabsent ) key、value、time、TimeUnit.MINUTES );
(/**
从索引中获取redis内的数据@ param key @ paramstart @ param end @ return
/
publiclistrang (字符串密钥,长开始,长结束) {
returnstringredistemplate.opsforlist ().range(key,start,end );
}
/*从String到javaBean转换要使用get返回到String,请使用此方法转换JavaBean @ paramstr @ paramt @ return @ throwsjsonprocessingexception
*/
publictstringtobean(stringstr,Class t ) throws JsonProcessingException {
if(stringutils.isempty(str ) )返回空值;
//忽略大小写
object mapper.configure (deserialization feature.fail _ on _ unknown _ properties,false );
对象映射器. configure (mapper feature.accept _ case _ insensitive _ properties,true );
returnobjectmapper.read value (JSON.parse (str ).toString ),t );
(/**
javaBean转到string @ param obj @ return @ throwsjsonprocessingexception
*/
publicstringbeantostring (objectobj ) throws JsonProcessingException {
returnobjectmapper.writevalueasstring (obj;
}