1、pom.xml依賴匯入
>
>
org.springframework.bootgroupid
>
>
spring-boot-starter-redisartifactid
>
>
1.4.7.releaseversion
>
dependency
>
>
>
com.alibabagroupid
>
>
fastjsonartifactid
>
>
1.2.3version
>
dependency
>
>
>
com.fasterxml.jackson.coregroupid
>
>
jackson-databindartifactid
>
dependency
>
2、編寫配置檔案redisconfig.ymlspring:
redis:
host: 127.0.0.1
#redis伺服器連線埠
port: 6379
#redis伺服器連線密碼(預設為空)yml
password:
#連線池最大連線數(使用負值表示沒有限制)
pool.max-active: 8
#連線池最大阻塞等待時間(使用負值表示沒有限制)
pool.max-wait: -1
#連線池中的最大空閒連線
pool.max-idle: 8
#連線池中的最小空閒連線
pool.min-idle: 0
#連線超時時間(毫秒)
timeout: 30000
3、編寫配置類redisconfig@configuration
@enablecaching
@propertysource
("classpath:redisconfig.properties"
)public
class
redisconfig
extends
cachingconfigurersupport")
private string host;
@value
("$"
)private
int port;
@value
("$"
)private
int timeout;
@value
("$"
)private string password;
@value
("$"
)private
int maxactive;
@value
("$"
)private
int maxwait;
@value
("$"
)private
int maxidle;
@value
("$"
)private
int minidle;
@bean
public keygenerator wiselykeygenerator()
return sb.
tostring()
;}};
}@bean
public jedisconnectionfactory redisconnectionfactory()
@bean
public cachemanager cachemanager
(redisconnectionfactory redisconnectionfactory)
@bean
public redistemplate
redistemplate
(redisconnectionfactory factory)
private
void
setserializer
(stringredistemplate template)
}
4、編寫工具類pagehelperutil、redisutils
分頁工具
@component
public
class
pagehelperutil
else
if(pagenum==pagenums)
else
return pageinfo;
}public list getpagehelperlist
(string rediskey,
int pagenum)
}
jedis工具類
@service
public
class
redisutils
catch
(exception e)
return result;
}public
boolean
set(
final string key, object value, long expiretime, timeunit timeunit)
catch
(exception e)
return result;
}public
void
remove
(final string.
.. keys)
}public
void
removepattern
(final string pattern)
}public
void
remove
(final string key)
}public
boolean
exists
(final string key)
public object get
(final string key)
public
void
hmset
(string key, object hashkey, object value)
public object hmget
(string key, object hashkey)
public
void
lpush
(string k, object v)
public list
lrange
(string k,
int l,
int l1)
public
void
add(string key, object value)
public set
setmembers
(string key)
public
void
zadd
(string key, object value,
double scoure)
public set
rangebyscore
(string key,
double scoure,
double scoure1)
}
5、改寫controller層
("/"
)public string index
(@requestparam
(value =
"pagenum"
,defaultvalue =
"1") integer pagenum, model model)
else
system.out.
println
("not in cash");
articles = pagehelperutil.
getpagehelperlist
("articles"
,pagenum);}
pageinfo p = pagehelperutil.
pagehelper
("articles"
, pagenum)
; model.
addattribute
("pageinfo"
,p);
model.
addattribute
("articles"
,articles)
; list
categories = categoryservice.
allcategories()
; model.
addattribute
("types"
,categories)
; model.
addattribute
("count"
,articleservice.
countart()
);return
"index";}
daisy framework 快取中介軟體
github 實際使用根據自己專案情況,比如常見的快取配置資料,首頁資料,排行榜資料等等。為什麼要用快取,用哪種快取中介軟體,這個應該也是我們在使用前要思考的,而不是追風。使用快取一般解決兩個問題,高效能和高併發。高效能 實在是太慢了。這個時候,可以根據業務情況,這些資料加到快取,2ms 就查詢出來...
快取中介軟體memcached
memcached是乙個免費開源的,高效能的,具有分布式記憶體物件的快取系統,它通過減輕資料庫負載加速動態web應用。本質上就是乙個記憶體key value快取 協議簡單,不支援資料持久化 便於快速開發,上手容易,沒有安全機制 安裝libevent庫。yum install libevent lib...
高併發系列之 快取中介軟體Redis
1 概念和使用場景 2 基本儲存型別 3 事務 單執行緒執行,即只能保證乙個client發起的事務中的命令可以連續的執行,而中間不會插入其他client的命令。根據事務的四大特性acid,只保證了原子性 一致性和隔離性 4 如何實現mybatis的二級快取 步驟一 新建乙個類,用於實現org.apa...