SpringBoot集成redis的示例代碼
前言
redis想必小伙伴們即使沒(méi)有用過(guò),也是經(jīng)常聽到的,在工作中,redis用到的頻率非常高,今天詳細(xì)介紹一下SpringBoot中的集成步驟
一、 redis是什么
用通俗點(diǎn)的話解釋,redis就是一個(gè)數(shù)據(jù)庫(kù),直接運(yùn)行在內(nèi)存中,因此其運(yùn)行速度相當(dāng)快,同時(shí)其并發(fā)能力也非常強(qiáng)。redis是以key-value鍵值對(duì)的形式存在(如:"name":huage),它的key有五種常見類型:
- String:字符串
- Hash:字典
- List:列表
- Set:集合
- SortSet:有序集合
除此之外,redis還有一些高級(jí)數(shù)據(jù)結(jié)構(gòu),如HyperLogLog、Geo、Pub/Sub以及BloomFilter、RedisSearch等,這個(gè)后面花Gie會(huì)有專門的系列來(lái)講解,這里不再展開啦(不然肝不完了)。
二、 集成redis步驟
pom文件配置
<!--redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!--jedis--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency>
配置文件
#redis配置開始 # Redis數(shù)據(jù)庫(kù)索引(默認(rèn)為0) spring.redis.database=0 # Redis服務(wù)器地址 spring.redis.host=127.0.0.1 # Redis服務(wù)器連接端口 spring.redis.port=6379 # Redis服務(wù)器連接密碼(默認(rèn)為空) spring.redis.password= # 連接池最大連接數(shù)(使用負(fù)值表示沒(méi)有限制) spring.redis.jedis.pool.max-active=1024 # 連接池最大阻塞等待時(shí)間(使用負(fù)值表示沒(méi)有限制) spring.redis.jedis.pool.max-wait=10000 # 連接池中的最大空閑連接 spring.redis.jedis.pool.max-idle=200 # 連接池中的最小空閑連接 spring.redis.jedis.pool.min-idle=0 # 連接超時(shí)時(shí)間(毫秒) spring.redis.timeout=10000 #redis配置結(jié)束 spring.redis.block-when-exhausted=true
初始化配置文件
//初始化jedis public JedisPool redisPoolFactory() throws Exception { JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); jedisPoolConfig.setMaxIdle(maxIdle); jedisPoolConfig.setMaxWaitMillis(maxWaitMillis); // 連接耗盡時(shí)是否阻塞, false報(bào)異常,ture阻塞直到超時(shí), 默認(rèn)true jedisPoolConfig.setBlockWhenExhausted(blockWhenExhausted); // 是否啟用pool的jmx管理功能, 默認(rèn)true jedisPoolConfig.setJmxEnabled(true); JedisPool jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout, password); return jedisPool; }
三、 代碼演示
完成上面的配置后,我們只需要使用@Autowired引入RedisTemplate,就可以很方便的存取redis了,此外花Gie在項(xiàng)目中增加了一個(gè)RedisUtil工具類,囊括了redis大部分命令,足夠平時(shí)開發(fā)使用。
//引入redis @Autowired private RedisTemplate redisTemplate; //將【name:花哥】 存入redis redisTemplate.opsForValue().set("name","花哥"); //取出redis中key為name的數(shù)據(jù) redisTemplate.opsForValue().get("name");
到此這篇關(guān)于SpringBoot集成redis的示例代碼的文章就介紹到這了,更多相關(guān)SpringBoot集成redis內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解解決IDEA2020.1版本的lombok插件問(wèn)題
這篇文章主要介紹了詳解解決IDEA2020.1版本的lombok插件問(wèn)題。文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Java基礎(chǔ)類學(xué)習(xí)之String詳解
這篇文章主要為大家詳細(xì)介紹了Java基礎(chǔ)類中String的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Java有一定的幫助,需要的可以參考一下2022-12-12JavaWeb詳細(xì)講述Cookie和Session的概念
web開發(fā)階段我們主要是瀏覽器和服務(wù)器之間來(lái)進(jìn)行交互。瀏覽器和服務(wù)器之間的交互就像人和人之間進(jìn)行交流一樣,但是對(duì)于機(jī)器來(lái)說(shuō),在一次請(qǐng)求之間只是會(huì)攜帶著本次請(qǐng)求的數(shù)據(jù)的,但是可能多次請(qǐng)求之間是會(huì)有聯(lián)系的,所以提供了會(huì)話機(jī)制2022-06-06Java中List排序的三種實(shí)現(xiàn)方法實(shí)例
其實(shí)Java針對(duì)數(shù)組和List的排序都有實(shí)現(xiàn),對(duì)數(shù)組而言你可以直接使用Arrays.sort,對(duì)于List和Vector而言,你可以使用Collections.sort方法,下面這篇文章主要給大家介紹了關(guān)于Java中List排序的三種實(shí)現(xiàn)方法,需要的朋友可以參考下2021-12-12Springboot使用Maven占位符@替換不生效問(wèn)題及解決
這篇文章主要介紹了Springboot使用Maven占位符@替換不生效問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04詳解SpringBoot中時(shí)間類型的序列化與反序列化
這篇文章主要為大家詳細(xì)介紹了SpringBoot中時(shí)間類型的序列化與反序列化的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-02-02