国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

武漢網站制作/建立一個網站的費用

武漢網站制作,建立一個網站的費用,項目管理軟件應用,我做的網站上有需要別人直接下載的東西 怎么做到這一步數據庫在用戶數量多,系統(tǒng)訪問量大的時候,系統(tǒng)性能會下降,用戶體驗差。1.緩存優(yōu)化作用:1.降低數據庫的訪問壓力2.提高系統(tǒng)的訪問性能3.從而提高用戶體驗實現思路:1.先查詢緩存2.如果緩存有數據,直接返回3.如…
數據庫在用戶數量多,系統(tǒng)訪問量大的時候,系統(tǒng)性能會下降,用戶體驗差。

1.緩存優(yōu)化

作用:
???????1.降低數據庫的訪問壓力
???????2.提高系統(tǒng)的訪問性能
???????3.從而提高用戶體驗

實現思路

1.先查詢緩存

2.如果緩存有數據,直接返回

3.如果緩存中沒有數據,則需要查詢數據庫,再將數據庫查詢的結果,緩存到redis中。

4.如果數據庫中的數據發(fā)生修改,緩存數據應當清空,保證和數據庫中的數據一致!(下一次查詢會查詢數據庫,然后最新的數據就到緩存了)


2.使用Redis緩存優(yōu)化

1.環(huán)境搭建

1.導入maven坐標

 <!--spring Data Redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>

2.修改配置文件

# redis相關配置redis:host: ip地址port: 6379password: 密碼database: 0 # 操作的是0號數據庫jedis:#redis連接池配置pool:max-active: 8 #最大連接數max-wait: 1ms #連接池最大阻塞等待時間max-idle: 4   #連接池中最大空閑連接min-idle: 0   #連接池中最小空閑連接

3.導入配置類

/*** Redis配置類*/
@Configuration
public class RedisConfig extends CachingConfigurerSupport {@Beanpublic RedisTemplate<Object,Object> redisTemplate(RedisConnectionFactory connectionFactory){RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();//默認的key序列化器為:JdkSerializationRedisSerializerredisTemplate.setKeySerializer(new StringRedisSerializer());redisTemplate.setHashKeySerializer(new StringRedisSerializer());redisTemplate.setConnectionFactory(connectionFactory);return redisTemplate;}
}

2.使用RedisTemplate操作Redis

在高并發(fā)的情況下,頻繁地查詢數據庫會導致系統(tǒng)性能下降,服務端響應時間增加,需要對這些Controller方法進行緩存優(yōu)化,提高系統(tǒng)的性能。
實現思路:
????????1.先查詢redis,如果redis中有就直接返回結果,如果沒有就去查詢數據庫,并將查詢到的結果放入Redis并指定有效期。
????????2.在新增,刪除和修改操作的時候,清空對應的緩存,保證數據庫中數據和緩存中數據一致。

3.Spring?Cache(重點)

Spring Cache是一個框架,實現了基于注解的緩存功能,只需要簡單地加一個注解,就能實現緩存功能。
Spring Cache提供了一層抽象,底層可以切換不同的cache實現,具體就是通過CacheManager接口來統(tǒng)一不同的緩存技術。
????????????ChacheManager是Spring提供的各種緩存技術抽象接口
????????????EhCacheCacheManager :使用EhCache作為緩存技術
????????????GuavaCacheManager:使用Google的GuavaCache作為緩存技術
????????????RedisCacheManager:使用Redis作為緩存技術

使用步驟

1.導入Maven坐標:(使用redis緩存技術)

<!--spring cache--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency>
<!--spring Data Redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>

2.配置application.yml

spring:cache:redis:time-to-live: 1800000?#設置緩存有效時間

3.在啟動類上加入@EnableCaching注解,開啟緩存注解功能

@SpringBootApplication
@EnableCaching
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class,args);}
}

4.在Controller方法上加入@Cacheable,@CacheEvict等注解,進行緩存操作

@EnableCaching

開啟緩存注解功能

@Cacheable

在方法執(zhí)行前spring先查看緩存中是否有數據,如果有數據,則直接返回緩存數據;若沒有數據,調用方法并將方法返回值放到緩存中。

@CachePut

將方法的返回值放到緩存中

@CacheEvict

將一條或多條數據從緩存中刪除

注意:在Spring Boot項目中使用緩存技術只需在項目中導入相關緩存技術的依賴包,并在啟動類上使用@EnableCaching開啟緩存支持即可。

例如:使用Redis作為緩存技術,只需要導入Spring data Redis的maven坐標即可。

對象在網絡中傳輸需要實現序列化接口。

@Slf4j
@RestController
@RequestMapping("user")
public class UserController {@Autowiredprivate UserService userService;@Autowiredprivate CacheManager cacheManager;/** 緩存測試 @Cacheable** @Cacheable:*  作用:*      1.可以在方法執(zhí)行前,先自動查詢緩存,如果緩存中存在數據,就直接返回(此方法不再執(zhí)行)*      2.如果緩存中沒有數據,執(zhí)行此方法,并且將方法返回值自動存入redis**  屬性:*      cacheNames:key名稱空間*      key:   名稱空間下的key* 最終redis存儲的key:[cacheNames::key]* 最終redis存儲的key:[userCache::1]*/@Cacheable(cacheNames = "userCache",key = "#id")@GetMapping("/{id}")public User one(@PathVariable Long id){User user = userService.getById(id);log.info("緩存中沒有查數據庫");return user;}/** 測試緩存清理:@CacheEvict** @CacheEvict*   作用:*       當方法執(zhí)行完畢后,去清理對應的緩存數據** allEntries = true:代表把當前名稱空間下的key都清理(默認false)* */
//    @CacheEvict(cacheNames = "userCache",allEntries = true)@CacheEvict(cacheNames = "userCache",key = "#id")@DeleteMapping("/{id}")public void delete(@PathVariable Long id){userService.removeById(id);}@CacheEvict(cacheNames = "userCache",key = "#user.id")@PutMappingpublic User update(@RequestBody User user){userService.updateById(user);return user;}
}

cacheNames和key相當于這樣的結構


http://m.aloenet.com.cn/news/796.html

相關文章:

  • 黑河商城網站建設/東莞網絡推廣平臺
  • 蔚縣做網站/云資源軟文發(fā)布平臺
  • 小企業(yè)網站建設的大品牌/優(yōu)化整站
  • 網站開發(fā)管理/網站優(yōu)化員seo招聘
  • 慶陽網站設計/創(chuàng)建自己的網頁
  • 做系統(tǒng)下載網站建設/最新經濟新聞
  • 工會網站平臺建設/推廣普通話的宣傳標語
  • 做網站和做網頁一樣嗎/大數據查詢
  • 3d做號網站/刷推廣軟件
  • 網上購物系統(tǒng)源代碼/關鍵詞優(yōu)化建議
  • 北京 做網站/新站整站優(yōu)化
  • c語言在線編程網站/全自動推廣軟件
  • 怎么網站代備案/微信推廣方式有哪些
  • 網站規(guī)劃的一般步驟/搭建一個網站平臺需要多少錢
  • 石家莊網站搭建/我的百度賬號登錄
  • 做網站怎么加彈幕/營銷咨詢公司
  • 網站建設中的功能/百度地址
  • 素材網站下載/口碑營銷的主要手段有哪些
  • 校友網站 建設/強力搜索引擎
  • 怎么做百度網站/怎么建立個人網站
  • wordpress 作者簡介/東莞網站優(yōu)化關鍵詞排名
  • 域名 網站/站長之家網站介紹
  • 蘿崗區(qū)營銷型網站建設/少兒編程培訓機構排名前十
  • WordPress頂部廣告插件/seo搜索優(yōu)化專員
  • 惠州關鍵詞排名提升/河北seo推廣
  • 京東網站制作優(yōu)點/網站數據分析案例
  • 微信公眾號人工客服電話轉人工/南陽網站優(yōu)化公司
  • 怎么做論壇的網站/附近電腦培訓速成班一個月
  • 做的網站圖片顯示一半/今日熱點事件
  • 做一款什么網站賺錢/2023免費推廣入口