日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring--Redis入门集成配置

發(fā)布時(shí)間:2025/4/16 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring--Redis入门集成配置 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

一、什么是Redis?

這兩年對(duì)于 NoSQL(not only SQL) 的使用已經(jīng)越加頻繁,所以對(duì)于Redis是什么我們也不會(huì)太過陌生。簡單來說,Redis就是一個(gè)開源的,Key-Value數(shù)據(jù)庫。它的存在主要是為了減少對(duì)SQL的讀取,來提高服務(wù)器響應(yīng)時(shí)間,典型的空間換時(shí)間策略。

二、Redis的安裝與命令

這個(gè)太多,請(qǐng)看官網(wǎng):??https://redis.io/? ? ? ? ? ?

教程:?http://www.runoob.com/redis/redis-tutorial.html

三、簡單Java項(xiàng)目中的引用測試

1、導(dǎo)入Jar包:?jedis-2.9.0.jar 、commons-pool2-2.5.0.jar

2、測試:

package redis;import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set;import org.junit.Test;import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig;public class RedisTest {/*** 引入jar包:* jedis-2.9.0.jar* commons-pool2-2.5.0.jar * **//*** TODO Redis單例測試* @author geYang* @date 2018-04-07 16:39*/@Testpublic void demo1() {//設(shè)置IP和端口號(hào)Jedis jedis = new Jedis("127.0.0.1", 6379);//保存數(shù)據(jù)jedis.set("name", "imooc");//讀取數(shù)據(jù)System.out.println(jedis.get("name"));//刪除數(shù)據(jù) // jedis.del("name");System.out.println(jedis.get("name"));//釋放資源jedis.close();}/*** TODO 連接池測試* @author geYang* @date 2018-04-07 16:41*/@Testpublic void demo2() {//連接池配置JedisPoolConfig config = new JedisPoolConfig();//設(shè)置最大連接數(shù)config.setMaxTotal(10);//設(shè)置最大空閑連接數(shù)config.setMaxIdle(5);//設(shè)置連接IP端口號(hào)JedisPool pool = new JedisPool(config, "127.0.0.1", 6379);Jedis jedis = null;try {jedis = pool.getResource();jedis.set("name", "geYang");System.out.println(jedis.get("name"));} catch (Exception e) {e.printStackTrace();} finally {if (jedis != null) {jedis.close();}if (pool != null) {pool.close();}}}/*** TODO Keys測試* @author geYang* @date 2018-04-08 10:24*/@Testpublic void demo3() {Jedis jeds = new Jedis("127.0.0.1", 6379);Set<String> keys = jeds.keys("*");Iterator<String> it = keys.iterator() ; while(it.hasNext()){ String key = it.next(); System.out.println(key); }jeds.close();}/*** TODO List測試* @author geYang* @date 2018-04-08 10:27*/@Testpublic void demo4() {Jedis jedis = new Jedis("127.0.0.1", 6379);System.out.println("連接成功");//存jedis.lpush("mylist", new String[] {"1","2","3"});jedis.lpush("mylist", "a");jedis.lpush("mylist", "b");jedis.lpush("mylist", "c");//讀List<String> list = jedis.lrange("mylist", 0, -1);for (String str : list) {System.out.println(str);}jedis.close();}/*** TODO Hash測試* @author geYang* @date 2018-04-08 10:46*/@Testpublic void demo5() {Jedis jedis = new Jedis("127.0.0.1", 6379);System.out.println("連接成功");// jedis.hset("myhash", "tel", "18281916257");HashMap<String,String> hashMap = new HashMap<>();hashMap.put("sex", "man");hashMap.put("address", "China");jedis.hmset("myhash", hashMap);Map<String, String> map = jedis.hgetAll("myhash");System.out.println(map);jedis.close();}}

四、Spring中集成

1、Maven倉庫:

<!-- Not Only SQL REDIS --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version></dependency>

2、spring-redis.xml(需要將該文件加載入spring上下文) ,? 配置:

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><context:property-placeholder location="classpath:config.properties"/><bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <!-- 最大連接數(shù) --> <property name="maxTotal" value="30"/><!-- 最大空閑連接數(shù) --><property name="maxIdle" value="10"/><!-- 每次釋放連接的最大數(shù)目 --><property name="numTestsPerEvictionRun" value="1024"/><!-- 釋放連接的掃描間隔(毫秒) --><property name="timeBetweenEvictionRunsMillis" value="30000"/> <!-- 連接最小空閑時(shí)間 --><property name="minEvictableIdleTimeMillis" value="1800000"/> <!-- 連接空閑多久后釋放, 當(dāng)空閑時(shí)間>該值 且 空閑連接>最大空閑連接數(shù) 時(shí)直接釋放 --><property name="softMinEvictableIdleTimeMillis" value="10000"/><!-- 獲取連接時(shí)的最大等待毫秒數(shù),小于零:阻塞不確定的時(shí)間,默認(rèn)-1 --><property name="maxWaitMillis" value="1500"/><!-- 在獲取連接的時(shí)候檢查有效性, 默認(rèn)false --><property name="testOnBorrow" value="true"/><!-- 在空閑時(shí)檢查有效性, 默認(rèn)false --><property name="testWhileIdle" value="true"/><!-- 連接耗盡時(shí)是否阻塞, false報(bào)異常,true阻塞直到超時(shí), 默認(rèn)true --> <property name="blockWhenExhausted" value="false"/></bean> <bean id="jedisPool" class="redis.clients.jedis.JedisPool"><constructor-arg name="poolConfig" ref="jedisPoolConfig"/><constructor-arg name="host" value="${redis.host}"/><constructor-arg name="port" value="${redis.port}"/></bean></beans>

3、簡單使用:

package com.gy.spring.mvc.service.impl;import java.util.List;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;import com.gy.spring.mvc.service.RedisService;import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool;@Service public class RedisServiceImpl implements RedisService {@Autowiredprivate JedisPool jedisPool;@Overridepublic String get(String key) {Jedis jedis = jedisPool.getResource();String value = null;try {value = jedis.get(key);} catch (Exception e) {e.printStackTrace();} finally {close(jedis);}return value;}@Overridepublic void set(String key, String value) {Jedis jedis = jedisPool.getResource();try {jedis.set(key, value);} catch (Exception e) {e.printStackTrace();} finally {close(jedis);}}@Overridepublic List<String> getList(String key,long start,long end) {Jedis jedis = jedisPool.getResource();List<String> list = null;try {list = jedis.lrange(key, start, end);} catch (Exception e) {e.printStackTrace();} finally {close(jedis);}return list;}@Overridepublic void set(String key, List<String> value) {Jedis jedis = jedisPool.getResource();try {} catch (Exception e) {e.printStackTrace();} finally {close(jedis);}}@Overridepublic void del(String key) {Jedis jedis = jedisPool.getResource();try {jedis.del(key);} catch (Exception e) {e.printStackTrace();} finally {close(jedis);}}/*** TODO 釋放資源* @param jedis* @author geYang* @date 2018-04-10 10:13*/private void close(Jedis jedis) {if(jedis!=null) {jedis.close();}}}

4、項(xiàng)目源碼:?https://gitee.com/ge.yang/spring-demo/tree/master/spring-mvc

轉(zhuǎn)載于:https://my.oschina.net/u/3681868/blog/1796571

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的Spring--Redis入门集成配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。