整合快取中介軟體redis(個人部落格)

2021-10-20 22:43:25 字數 4645 閱讀 6836

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.yml
spring:

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...