您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 > 

02 redis消息訂閱與發布springboot(Spring Boot使用Redis進行消息的發布訂閱 原創)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-05-21 00:12:13【】6人已围观

简介edisValue(){Stringname=redisTemplate.opsForValue().get("name");return"GetRedisValue:&

edisValue() {

String name = redisTemplate.opsForValue().get("name");

return "Get Redis Value: " + name;

}

}

這個控制器中使用 `StringRedisTemplate` 對象向 Redis 中寫入和讀取數據。可以通過訪問 `/redis/set` 和 `/redis/get` 接口測試 Redis 的讀寫操作。

SpringBoot連接redis哨兵模式

設置 sentinel-26377.買粉絲nf 的 protected-mode no ;默認是該字段值是yes

修改問題[1]中為redis集群master節點的真實地址;

修改問題[2]中為 bind 0.0.0.0

【注】redisTemplate實際上是對其他框架的的封裝,springboot2.x以上底層實現由jedis變為了lettuce。而且lettuce會根據配置自動選擇是否用單機或者哨兵模式。

【1】 Redis 哨兵模式 設置密碼

【2】 sentinel搭建redis集群經驗總結

【3】SpringBoot2.x使用Lettuce連接redis哨兵報錯:RedisConnectionException: Unable to 買粉絲nnect to 127.0.0.1:16379]: 買粉絲s://blog.csdn.買粉絲/repAgell/article/details/106600960

【4】解決使用jedis連接是報DENIED Redis is running in protected mode錯誤: 買粉絲s://買粉絲.買粉絲blogs.買粉絲/lonecloud/p/9084761.買粉絲

spring boot與redis 實現session共享步驟詳解

這次帶來的是spring boot + redis 實現session共享的教程。

在spring boot的文檔中,告訴我們添加@EnableRedisHttpSession來開啟spring session支持,配置如下:

@Configuration

@EnableRedisHttpSession

public class RedisSessionConfig {

}

而@EnableRedisHttpSession這個注解是由spring-session-data-redis提供的,所以在pom.xml文件中添加:

org.springframework.boot

spring-boot-starter-redis

org.springframework.session

spring-session-data-redis

接下來,則需要在application.properties中配置redis服務器的位置了,在這里,我們就用本機:

spring.redis.host=localhost

spring.redis.port=6379

這樣以來,最簡單的spring boot + redis實現session共享就完成了,下面進行下測試。

首先我們開啟兩個tomcat服務,端口分別為8080和9090,在application.properties中進行設置【下載地址】 :

server.port=8080

接下來定義一個Controller:

@RestController

@RequestMapping(value = "/admin/v1")

public class QuickRun {

@RequestMapping(value = "/first", method = RequestMethod.GET)

public Map

Map

request.getSession().setAttribute("request Url", request.getRequestURL());

map.put("request Url", request.getRequestURL());

return map;

}

@RequestMapping(value = "/sessions", method = RequestMethod.GET)

public Object sessions (HttpServletRequest request){

Map

map.put("sessionId", request.getSession().getId());

map.put("message", request.getSession().getAttribute("map"));

return map;

}

}

啟動之后進行訪問測試,首先訪問8080端口的tomcat,返回 獲取【下載地址】 :

{ "request Url":"買粉絲://localhost:8080/admin/v1/first"}

接著,我們訪問8080端口的sessions,返回:

{ "sessionId":"efcc85c0-9ad2-49a6-a38f-9004403776b5","message":買粉絲://localhost:8080/admin/v1/first}

最后,再訪問9090端口的sessions,返回:

{ "sessionId":"efcc85c0-9ad2-49a6-a38f-9004403776b5","message":買粉絲://localhost:8080/admin/v1/first}

可見,8080與9090兩個服務器返回結果一樣,實現了session的共享

如果此時再訪問9090端口的first的話,首先返回:

{ "request Url":"買粉絲://localhost:9090/admin/v1/first"}

而兩個服務器的sessions都是返回:

{ "sessionId":"efcc85c0-9ad2-49a6-a38f-9004403776b5","message":"買粉絲://localhost:9090/admin/v1/first"}

通過spring boot + redis來實現session的共享非常簡單,而且用處也極大,配合nginx進行負載均衡,便能實現分布式的應用了。

本次的redis并沒有進行主從、讀寫分離等等配置(_(:з」∠)_其實是博主懶,還沒嘗試過.......)

而且,nginx的單點故障也是我們應用的障礙......以后可能會有對此次博客的改進版本,比如使用zookeeper進行負載均衡,敬請期待。

SpringBoot進階之緩存中間件Redis

大家好,一直以來我都本著 用最通俗的話理解核心的知識點, 我認為所有的難點都離不開 「基礎知識」 的鋪墊

「大佬可以繞過 ~」

本節給大家講講 「Java的SpringBoot框架」 , 之前我們學習的都是java的基礎知識和底層提供的一些能力,我們日常工作都是在寫接口。在我們在產品開發中,一般我們都會選擇比較穩定的框架來幫我們加速開發,不會自己去造輪子,而在java眾多框架中,spring框架表現的非常好,大部分公司都會首選它作為開發框架,而至今,大部分企業都是以 springboot 來構建項目了,一個穩健的系統需要引入穩定的技術~

如果你是一路看過來的,很高興你能夠耐心看完。前幾期都是帶大家學習了 SpringBoot 的基礎使用以及集成 mybatis 開發,這也是我們寫業務的基礎,如果你還不熟悉這些,請先看完它們。接下來的幾期內容將會帶大家進階使用,會先講解基礎 中間件 的使用和一些場景的應用,或許這些技術你聽說過,沒看過也沒關系,我會帶大家一步一步的入門,耐心看完你一定會有 收獲 ,本期將會給大家講解最熱門的緩存中間件技術 Redis ,同樣的,我們集成到 Springboot 中。最近github可能會被墻,所以我把源碼放到了國內gitee上,本節我們依然使用上期的代碼

Redis 是由意大利人Salvatore Sanfilippo(網名:antirez)開發的一款內存高速緩存數據庫。全稱叫 Remote Dictionary Server(遠程數據服務) 是由 C語言 編寫的,Redis是一個 key-value 存儲系統,它支持豐富的數據類型,如: string、list、set、zset(sorted set)、hash 。

它本質上是一種鍵值對數據庫,我們之前學習的 mysql 它是持久層的關系型數據庫,而 redis 它的存儲主要存在 內存 中。我們都知道在 內存 中的數據讀取是非常快的,就好比你把一個變量存到磁盤讀取和直接放到代碼中運行,肯定是在代碼中拿到的速度快,因為運行時期,都是直接存到內存的。

給大家總結一下:

有了基本的概念之后,我們下面進行環境搭建,在學習階段,安裝 redis 很簡單,生產環境一般我們也會選擇云產品,一切為了服務保障,雖說它只是做緩存用,但也是系統的一把 保護傘

如果你是 mac 用戶,你可以運行如下命令:

安裝完成后會提示你運行命令,運行即可。

win 用戶也很簡單,直接下載 redis 軟件,雙擊運行即可,運行之后它會有一個小方塊的圖案,和 locahost:6379 的log,說明運行成功了。初始階段沒有配置的 redis 默認 host 就是本地, port 就是 6379 , 而且是 沒有密碼 就可以訪問的。

推薦一個客戶端軟件 Redis Desktop Manager ,它是 redis 的客戶端界面軟件,方便面我們學習的時候 清理緩存 使用,生產慎連。

我們不給大家講它的基本命令使

很赞哦!(9669)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片

职业:程序员,设计师

现居:江苏淮安淮阴区

工作室:小组

Email:[email protected]