日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
實(shí)踐探究:Redis在工程中的應(yīng)用實(shí)例分享(redis工程實(shí)例)

Redis是一種持久性內(nèi)存數(shù)據(jù)庫,通過簡單而快速的存儲(chǔ)機(jī)制以應(yīng)對(duì)高速率讀寫要求。因其特殊的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)和簡單優(yōu)秀的性能特性,Redis在很多項(xiàng)目中都被引入,被應(yīng)用于分布式緩存,消息隊(duì)列,數(shù)據(jù)持久化等多種用途。下面來看Redis在工程中的實(shí)際應(yīng)用實(shí)例。

創(chuàng)新互聯(lián)公司于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元兩當(dāng)做網(wǎng)站,已為上家服務(wù),為兩當(dāng)各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575

1.在大型網(wǎng)站的日志收集系統(tǒng)中,Redis可以作為一種日志緩存存儲(chǔ)工具,通過其強(qiáng)大的計(jì)時(shí)、消息處理和計(jì)數(shù)功能來收集日志消息,在其它系統(tǒng)里將這些消息進(jìn)行處理、分析。

實(shí)例代碼:

private static final Logger log = LoggerFactory.getLogger(LogManager.class);

private static final string KEY_PREFIX = “l(fā)og_message”;

private static JedisPool jedisPool;

public void putLogMessage(String message){

String key = String.format(“%s_%s”,KEY_PREFIX, UUID.randomUUID().toString());

try (Jedis jedis = jedisPool.getResource()){

jedis.setex(key, 3600,message);

jedis.sadd(“l(fā)og_message_keys”,key);

} catch (Exception e) {

log.error(“Failed to save log message,cause by:{}”,e.getMessage());

}

}

2.在實(shí)時(shí)用戶在線分析中,Redis可以用于存儲(chǔ)當(dāng)前在線用戶的列表,比如在游戲中將玩家的Id存入Redis中,然后通過Redis提供的在線查詢功能獲取實(shí)時(shí)用戶在線情況,以便對(duì)用戶管理和及時(shí)發(fā)放相關(guān)服務(wù)。

代碼實(shí)例:

private static final String KEY_LOGIN_USER_LIST = “user:login:list”;

public void addUserId2Redis(Long userId){

try (Jedis jedis = jedisPool.getResource()) {

String key = String.format(KEY_LOGIN_USER_LIST,userId);

jedis.sadd(key,userId);

} catch (Exception e) {

log.error(“fail to add userId to redis,cause:{}”,e.getMessage());

}

}

public Long getLoginUserCount(){

Long count = 0L;

try (Jedis jedis = jedisPool.getResource()){

count = jedis.scard(KEY_LOGIN_USER_LIST);

} catch (Exception e) {

log.error(“fail to get login user count,cause:{}”,e.getMessage());

}

return count;

}

另外,在文件存儲(chǔ)系統(tǒng)中,Redis也可以用于存儲(chǔ)文件相關(guān)信息,并設(shè)置過期時(shí)間,在達(dá)到過期時(shí)間時(shí)將自動(dòng)過期,可以實(shí)現(xiàn)自動(dòng)文件存儲(chǔ)管理,同時(shí)Redis也可以維護(hù)文件的訪問權(quán)限,防止惡意的訪問。

代碼實(shí)例:

private static final String KEY_FILE_PREFIX = “file:”;

public void saveFileInfo2Redis(String fileName, String uploadUser){

try (Jedis jedis = jedisPool.getResource()){

String key = String.format(“%s%s”, KEY_FILE_PREFIX, fileName);

Map fieldMap = Maps.newHashMap();

fieldMap.put(“uploadUser”, uploadUser);

fieldMap.put(“uploadTime”, LocalDateTime.now().format(DateTimeFormatter.ofPattern(“yyyy-MM-dd HH:mm:ss”)));

fieldMap.put(“downloadTimes”, “1”);

fieldMap.put(“expireTime”, LocalDateTime.now().plusDays(7).format(DateTimeFormatter.ofPattern(“yyyy-MM-dd HH:mm:ss”)));

jedis.hmset(key,fieldMap);

jedis.expireAt(key, LocalDateTime.now().plusDays(7).toEpochSecond(ZoneOffset.UTC));

}catch (Exception e) {

log.error(“fail to save file info to redis,cause:{}”,e.getMessage());

}

}

本文簡單介紹了Redis在工程中的應(yīng)用實(shí)例:日志收集系統(tǒng),實(shí)時(shí)用戶在線分析,文件存儲(chǔ)等。Redis的實(shí)際應(yīng)用場景遠(yuǎn)不止這些,各個(gè)業(yè)務(wù)場景都可以考慮使用Redis來提升處理效率,提升業(yè)務(wù)數(shù)據(jù)的可視度和把控性,優(yōu)化整個(gè)業(yè)務(wù)運(yùn)行狀態(tài),使得業(yè)務(wù)系統(tǒng)更穩(wěn)定高效地運(yùn)行。

創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)公司提供專業(yè)的建站服務(wù),為您量身定制,歡迎來電(028-86922220)為您打造專屬于企業(yè)本身的網(wǎng)絡(luò)品牌形象。
成都創(chuàng)新互聯(lián)品牌官網(wǎng)提供專業(yè)的網(wǎng)站建設(shè)、設(shè)計(jì)、制作等服務(wù),是一家以網(wǎng)站建設(shè)為主要業(yè)務(wù)的公司,在網(wǎng)站建設(shè)、設(shè)計(jì)和制作領(lǐng)域具有豐富的經(jīng)驗(yàn)。


名稱欄目:實(shí)踐探究:Redis在工程中的應(yīng)用實(shí)例分享(redis工程實(shí)例)
網(wǎng)頁鏈接:http://www.dlmjj.cn/article/djdceoc.html