中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

window2003iis建好的網(wǎng)站上海網(wǎng)站排名優(yōu)化怎么做

window2003iis建好的網(wǎng)站,上海網(wǎng)站排名優(yōu)化怎么做,取消wordpress自帶css,怎么登陸網(wǎng)站后臺(tái)管理系統(tǒng)引言 在現(xiàn)代互聯(lián)網(wǎng)應(yīng)用中,緩存是提升系統(tǒng)性能和用戶體驗(yàn)的關(guān)鍵技術(shù)之一。通過(guò)將頻繁訪問(wèn)的數(shù)據(jù)存儲(chǔ)在快速訪問(wèn)的存儲(chǔ)介質(zhì)中,可以顯著減少對(duì)數(shù)據(jù)庫(kù)的直接訪問(wèn)壓力,從而提高系統(tǒng)的響應(yīng)速度和吞吐量。 本文將從實(shí)戰(zhàn)的角度出發(fā),詳細(xì)…
引言

在現(xiàn)代互聯(lián)網(wǎng)應(yīng)用中,緩存是提升系統(tǒng)性能和用戶體驗(yàn)的關(guān)鍵技術(shù)之一。通過(guò)將頻繁訪問(wèn)的數(shù)據(jù)存儲(chǔ)在快速訪問(wèn)的存儲(chǔ)介質(zhì)中,可以顯著減少對(duì)數(shù)據(jù)庫(kù)的直接訪問(wèn)壓力,從而提高系統(tǒng)的響應(yīng)速度和吞吐量。

本文將從實(shí)戰(zhàn)的角度出發(fā),詳細(xì)介紹如何使用 Redis 和本地緩存(如 Caffeine)來(lái)優(yōu)化應(yīng)用性能。我們將分別探討 RedisTemplate 操作緩存、@Cacheable 方法緩存以及 Caffeine 本地緩存的使用場(chǎng)景和實(shí)現(xiàn)細(xì)節(jié)。


一、RedisTemplate 操作緩存

1. Redis 簡(jiǎn)介

Redis 是一個(gè)開源的高性能鍵值存儲(chǔ)系統(tǒng),支持多種數(shù)據(jù)結(jié)構(gòu)(如字符串、哈希、列表、集合、有序集合等),廣泛應(yīng)用于緩存、消息隊(duì)列、實(shí)時(shí)分析等領(lǐng)域。

2. 在 Spring Boot 中配置 Redis

首先,在 pom.xml 中添加 Redis 依賴:

<dependencies><dependency><groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>
</dependencies>

然后,在 application.properties 中配置 Redis 連接信息:

spring.redis.host=localhost  
spring.redis.port=6379  
spring.redis.password= 

?

3. 使用 RedisTemplate 進(jìn)行基本操作

RedisTemplate 是 Spring Data Redis 提供的核心模板類,用于簡(jiǎn)化 Redis 的操作。

示例代碼

import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.data.redis.core.RedisTemplate; 
import org.springframework.stereotype.Service; @Service 
public class CacheService {@Autowired private RedisTemplate<String, Object> redisTemplate;public void setValue(String key, Object value) {redisTemplate.opsForValue().set(key,  value);}public Object getValue(String key) {return redisTemplate.opsForValue().get(key); }public void deleteKey(String key) {redisTemplate.delete(key); }
}

?

  • opsForValue():操作字符串類型的鍵值對(duì)。
  • set(key, value):設(shè)置鍵值對(duì)。
  • get(key):獲取指定鍵的值。
  • delete(key):刪除指定鍵。
4. 設(shè)置過(guò)期時(shí)間

為了避免緩存數(shù)據(jù)無(wú)限期占用內(nèi)存,我們可以為鍵設(shè)置過(guò)期時(shí)間。

public void setValueWithExpire(String key, Object value, long expireSeconds) {redisTemplate.opsForValue().set(key,  value, expireSeconds);
}

?

  • expireSeconds:過(guò)期時(shí)間(單位:秒)。
5. 批量操作

RedisTemplate 還支持批量操作,以提高效率。

public void batchSetValue(Map<String, Object> entries) {redisTemplate.opsForValue().multiSet(entries); 
}public Map<String, Object> batchGetValue(Collection<String> keys) {return redisTemplate.opsForValue().multiGet(keys); 
}

?

二、@Cacheable 方法緩存

1. Spring Cache 簡(jiǎn)介

Spring Cache 是 Spring 提供的一套緩存抽象層,支持多種緩存實(shí)現(xiàn)(如 Redis、Caffeine、Ehcache 等)。@Cacheable 是 Spring Cache 中最常用的注解之一,用于標(biāo)注需要緩存的方法。

2. 配置 Spring Cache

application.properties 中啟用緩存:

spring.cache.type=redis  

?

3. 使用 @Cacheable 注解

示例代碼:

import org.springframework.cache.annotation.Cacheable; 
import org.springframework.stereotype.Service; @Service 
public class UserService {@Cacheable(value = "users", key = "#id")public User getUserById(Long id) {// 從數(shù)據(jù)庫(kù)查詢用戶 return userRepository.findById(id).orElse(null); }
}

?

  • value = "users":指定緩存的名稱。
  • key = "#id":指定緩存的鍵,使用方法參數(shù) id 的值。
4. 自定義緩存配置

可以通過(guò) @CacheConfig 注解為類級(jí)別配置默認(rèn)的緩存名稱和鍵生成策略。

import org.springframework.cache.annotation.CacheConfig; 
import org.springframework.cache.annotation.Cacheable; 
import org.springframework.stereotype.Service; @Service 
@CacheConfig(cacheNames = "users")
public class UserService {@Cacheable(key = "#id")public User getUserById(Long id) {// 從數(shù)據(jù)庫(kù)查詢用戶 return userRepository.findById(id).orElse(null); }
}

?

三、Caffeine 本地緩存

1. Caffeine 簡(jiǎn)介

Caffeine 是一個(gè)高性能的 Java 緩存庫(kù),由 Google 開發(fā)并維護(hù)。它支持本地緩存,并提供了豐富的功能(如自動(dòng)過(guò)期、容量限制、統(tǒng)計(jì)信息等)。

2. 在 Spring Boot 中集成 Caffeine

首先,在 pom.xml 中添加 Caffeine 依賴:

<dependencies><dependency><groupId>com.github.benmanes</groupId> <artifactId>jcache</artifactId><version>1.0.0</version></dependency>
</dependencies>

?然后,在配置類中配置 Caffeine 緩存管理器:

import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.cache.CacheManager; 
import org.springframework.cache.caffeine.CaffeineCacheManager; 
import com.github.benmanes.caffeine.jcache.JCache; @Configuration 
public class CacheConfig {@Bean public CacheManager cacheManager() {CaffeineCacheManager caffeineCacheManager = new CaffeineCacheManager("users");caffeineCacheManager.setCaffeine(JCache.Caffeine.newBuilder() .maximumSize(1000).expireAfterWrite(10, TimeUnit.MINUTES).build());return caffeineCacheManager;}
}

?

3. 使用 @Cacheable 結(jié)合 Caffeine

與 Redis 類似,我們可以使用 @Cacheable 注解結(jié)合 Caffeine 實(shí)現(xiàn)本地緩存。

import org.springframework.cache.annotation.Cacheable; 
import org.springframework.stereotype.Service; @Service 
public class UserService {@Cacheable(value = "users", key = "#id")public User getUserById(Long id) {// 從數(shù)據(jù)庫(kù)查詢用戶 return userRepository.findById(id).orElse(null); }
}

四、總結(jié)與選擇建議

1. 總結(jié)
  • Redis:適合分布式緩存場(chǎng)景,支持高并發(fā)和大數(shù)據(jù)量。
  • @Cacheable:簡(jiǎn)化緩存邏輯的實(shí)現(xiàn),支持多種緩存后端。
  • Caffeine:適合本地緩存場(chǎng)景,性能優(yōu)異且配置簡(jiǎn)單。
2. 選擇建議
  • 如果需要分布式緩存且數(shù)據(jù)量較大,推薦使用 Redis。
  • 如果需要本地緩存且追求高性能,推薦使用 Caffeine。
  • 如果希望統(tǒng)一管理緩存邏輯,可以結(jié)合 @Cacheable 和具體的緩存實(shí)現(xiàn)(如 Redis 或 Caffeine)。

http://www.risenshineclean.com/news/43761.html

相關(guān)文章:

  • 鎮(zhèn)海官方網(wǎng)站建設(shè)網(wǎng)絡(luò)銷售怎么做才能有業(yè)務(wù)
  • 做網(wǎng)站北京培訓(xùn)網(wǎng)絡(luò)營(yíng)銷的機(jī)構(gòu)
  • 裝修廣告做哪個(gè)網(wǎng)站最好看百度站長(zhǎng)平臺(tái)網(wǎng)頁(yè)版
  • 鹽城企業(yè)做網(wǎng)站多少錢網(wǎng)絡(luò)營(yíng)銷研究背景及意義
  • 國(guó)內(nèi)知名互聯(lián)網(wǎng)公司泉州seo按天計(jì)費(fèi)
  • 專業(yè)做展會(huì)網(wǎng)站網(wǎng)絡(luò)營(yíng)銷成功的品牌
  • 新鄉(xiāng)網(wǎng)站制作手機(jī)怎么做網(wǎng)站免費(fèi)的
  • WordPress短碼生成器廣州seo顧問(wèn)seocnm
  • 網(wǎng)站音樂(lè)播放器插件衡水網(wǎng)站優(yōu)化推廣
  • 可以看所有網(wǎng)站的瀏覽器線在成都網(wǎng)站推廣公司
  • 石家莊做家教網(wǎng)站win10優(yōu)化大師有用嗎
  • 網(wǎng)頁(yè)兼容性站點(diǎn)app注冊(cè)推廣拉人
  • 做網(wǎng)站的工資無(wú)限制訪問(wèn)國(guó)外的瀏覽器
  • 武昌專業(yè)的網(wǎng)絡(luò)推廣團(tuán)隊(duì)seo的特點(diǎn)是什么
  • 要做網(wǎng)站找誰(shuí)幫忙做百度快照客服電話
  • 網(wǎng)站建設(shè)項(xiàng)目計(jì)劃書如何寫西地那非片能延時(shí)多久
  • 番禺區(qū)網(wǎng)站建設(shè)網(wǎng)絡(luò)營(yíng)銷師官網(wǎng)
  • 邢臺(tái)做網(wǎng)站的價(jià)格究竟多少錢?網(wǎng)站建設(shè)需求模板
  • JAVA做的小型網(wǎng)站有哪些今天新聞?lì)^條最新消息
  • 企業(yè)免費(fèi)郵箱注冊(cè)申請(qǐng)家庭優(yōu)化大師
  • 白城網(wǎng)站開發(fā)為企業(yè)策劃一次網(wǎng)絡(luò)營(yíng)銷活動(dòng)
  • 美食網(wǎng)站建設(shè)畢業(yè)設(shè)計(jì)產(chǎn)品推廣計(jì)劃書怎么寫
  • 外貿(mào)網(wǎng)站建站公司專業(yè)推廣圖片
  • 網(wǎng)站制作公司 番禺網(wǎng)站建設(shè)網(wǎng)絡(luò)營(yíng)銷
  • 營(yíng)口網(wǎng)站建設(shè)做網(wǎng)站seo推廣公司
  • 海珠區(qū)做網(wǎng)站的公司如何讓百度收錄自己的網(wǎng)站信息
  • 創(chuàng)建全國(guó)文明城市我們?cè)谛袆?dòng)繪畫優(yōu)化seo教程技術(shù)
  • 網(wǎng)站建設(shè)工作流程html互聯(lián)網(wǎng)營(yíng)銷師怎么做
  • 對(duì)網(wǎng)站排名沒(méi)有太大影響的因素網(wǎng)站備案查詢
  • 免費(fèi)微網(wǎng)站建站系統(tǒng)百度官方認(rèn)證