windows簡易版本 Redis 使用 demo樣例(ssm框架下)

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

?1. 在網上下載?windows 版本 的Redis ?。下載了直接解壓出來 :

?

?

2. 雙擊 redis-server.exe 啟動服務(如下圖),使用中就一直不要關閉這個窗口。(也可cdm命令中設置電腦開機自啟動,就不用每次手動開啟這個窗口)

?

?

3. ? redis 配置:(任由你配置在哪個properties文件中,比如是A.properties文件)

我是配置在dbconfig.properties文件中的。

說明:

redis.host? ? -------- ?IP地址 , 如果是本機就127.0.0.1 。 ? 如果是公司服務器就配置服務器IP。

redis.port? ? ?-------- ?jedis 端口號,默認為 6379。

其余都使用默認配置,不用更改。

?

#redis
redis.host=127.0.0.1 
redis.port=6379redis.maxTotal=300
redis.maxIdle=10
redis.numTestsPerEvictionRun=1024
redis.timeBetweenEvictionRunsMillis=30000
redis.minEvictableIdleTimeMillis=1800000
redis.softMinEvictableIdleTimeMillis=10000
redis.maxWaitMillis=1500
redis.testOnBorrow=true
redis.testWhileIdle=true
redis.blockWhenExhausted=false

?

?

?

?

?

4. ?spring配置文件中的配置:(任由你放在spring的哪個配置文件中,比如是B.xml 文件。但一定要在B.xml 中引入A.properties?)

?

	<!-- 引入配置文件:dbconfig.properties --><context:property-placeholder location="classpath:dbconfig.properties" /><!-- jedis連接池配置 --><bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"><!-- 最大連接數 --><property name="maxTotal" value="${redis.maxTotal}" /><!-- 最大空閑連接數 --><property name="maxIdle" value="${redis.maxIdle}" /><!-- 每次釋放連接的最大數目 --><property name="numTestsPerEvictionRun" value="${redis.numTestsPerEvictionRun}" /><!-- 釋放連接的掃描間隔(毫秒) --><property name="timeBetweenEvictionRunsMillis" value="${redis.timeBetweenEvictionRunsMillis}" /><!-- 連接最小空閑時間 --><property name="minEvictableIdleTimeMillis" value="${redis.minEvictableIdleTimeMillis}" /><!-- 連接空閑多久后釋放, 當空閑時間>該值 且 空閑連接>最大空閑連接數 時直接釋放 --><property name="softMinEvictableIdleTimeMillis" value="${redis.softMinEvictableIdleTimeMillis}" /><!-- 獲取連接時的最大等待毫秒數,小于零:阻塞不確定的時間,默認-1 --><property name="maxWaitMillis" value="${redis.maxWaitMillis}" /><!-- 在獲取連接的時候檢查有效性, 默認false --><property name="testOnBorrow" value="${redis.testOnBorrow}" /><!-- 在空閑時檢查有效性, 默認false --><property name="testWhileIdle" value="${redis.testWhileIdle}" /><!-- 連接耗盡時是否阻塞, false報異常,ture阻塞直到超時, 默認true --><property name="blockWhenExhausted" value="${redis.blockWhenExhausted}" /></bean><!-- jedis客戶端單機版 --><bean id="redisClient" class="redis.clients.jedis.JedisPool"><constructor-arg name="host" value="${redis.host}"></constructor-arg><constructor-arg name="port" value="${redis.port}"></constructor-arg><constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg></bean><!-- 引用工程中自己書寫的redis常用接口實現類 --><bean id="_jedisClient" class="com.redis.impl.JedisClientSingle"/>
<!-- 引入配置文件:dbconfig.properties --><context:property-placeholder location="classpath:dbconfig.properties" /><!-- jedis連接池配置 --><bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"><!-- 最大連接數 --><property name="maxTotal" value="${redis.maxTotal}" /><!-- 最大空閑連接數 --><property name="maxIdle" value="${redis.maxIdle}" /><!-- 每次釋放連接的最大數目 --><property name="numTestsPerEvictionRun" value="${redis.numTestsPerEvictionRun}" /><!-- 釋放連接的掃描間隔(毫秒) --><property name="timeBetweenEvictionRunsMillis" value="${redis.timeBetweenEvictionRunsMillis}" /><!-- 連接最小空閑時間 --><property name="minEvictableIdleTimeMillis" value="${redis.minEvictableIdleTimeMillis}" /><!-- 連接空閑多久后釋放, 當空閑時間>該值 且 空閑連接>最大空閑連接數 時直接釋放 --><property name="softMinEvictableIdleTimeMillis" value="${redis.softMinEvictableIdleTimeMillis}" /><!-- 獲取連接時的最大等待毫秒數,小于零:阻塞不確定的時間,默認-1 --><property name="maxWaitMillis" value="${redis.maxWaitMillis}" /><!-- 在獲取連接的時候檢查有效性, 默認false --><property name="testOnBorrow" value="${redis.testOnBorrow}" /><!-- 在空閑時檢查有效性, 默認false --><property name="testWhileIdle" value="${redis.testWhileIdle}" /><!-- 連接耗盡時是否阻塞, false報異常,ture阻塞直到超時, 默認true --><property name="blockWhenExhausted" value="${redis.blockWhenExhausted}" /></bean><!-- jedis客戶端單機版 --><bean id="redisClient" class="redis.clients.jedis.JedisPool"><constructor-arg name="host" value="${redis.host}"></constructor-arg><constructor-arg name="port" value="${redis.port}"></constructor-arg><constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg></bean><!-- 引用工程中自己書寫的redis常用接口實現類 --><bean id="_jedisClient" class="com.redis.impl.JedisClientSingle"/>

?

?

?

?

5. ? maven ?依賴:

?

		<!-- redis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.7.2</version></dependency><!-- redis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.7.2</version></dependency>

?

?

?

?

?

?

6. ?書寫的redis常用接口及其實現類:(這個主要看你需要哪些,不用的可以不定義)

?

接口:

?

package com.redis;/*** redis java api 常用接口* @author JiangYu*/
public interface JedisClient {/*** 獲取string緩存值* @param key* @return*/String get(String key);/*** 設置string緩存值* @param key* @param value* @param second* @return*/String set(String key, String value);/*** 設置string緩存值帶失效時間* @param key* @param value* @param second* @return*/String set(String key, String value, int second);/*** 獲取hash緩存值* @param hkey* @param key* @return*/String hget(String hkey, String key);/*** 設置hash緩存值* @param hkey* @param key* @param value* @return*/long hset(String hkey, String key, String value);/*** 遞增緩存值* @param key* @return*/long incr(String key);/*** 設置緩存值有效時間* @param key* @param second* @return*/long expire(String key, int second);/*** 獲取緩存值失效時間* @param key* @return*/long ttl(String key);/*** 刪除string緩存值* @param key* @return*/long del(String key);/*** 批量刪除以string為前綴的key * @param key* @return*/void batchDel(String key);/*** 刪除hash緩存值* @param hkey* @param key* @return*/long hdel(String hkey, String key);/*** 判斷key是否存在* @param key* @return*/boolean exists(String key);/*** 清空緩存數據* @return*/boolean clear();
}

?

?

實現類:

?

package com.redis.impl;import java.util.Iterator;
import java.util.Set;import org.springframework.beans.factory.annotation.Autowired;import com.redis.JedisClient;import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;/*** redis 常用接口實現* @author JiangYu**/
public class JedisClientSingle implements JedisClient {@Autowiredprivate JedisPool jedisPool;/*** 獲取string緩存值* @param key* @return*/@Overridepublic String get(String key) {Jedis jedis = jedisPool.getResource();String string = jedis.get(key);jedis.close();return string;}/*** 設置string緩存值* @param key* @param value* @param second* @return*/@Overridepublic String set(String key, String value) {Jedis jedis = jedisPool.getResource();String string = jedis.set(key, value);jedis.close();return string;}/*** 設置string緩存值帶失效時間* @param key* @param value* @param second* @return*/@Overridepublic String set(String key, String value, int seconds) {Jedis jedis = jedisPool.getResource();String string = jedis.set(key, value);jedis.expire(key, seconds);jedis.close();return string;}/*** 獲取hash緩存值* @param hkey* @param key* @return*/@Overridepublic String hget(String hkey, String key) {Jedis jedis = jedisPool.getResource();String string = jedis.hget(hkey, key);jedis.close();return string;}/*** 設置hash緩存值* @param hkey* @param key* @param value* @return*/@Overridepublic long hset(String hkey, String key, String value) {Jedis jedis = jedisPool.getResource();Long result = jedis.hset(hkey, key, value);jedis.close();return result;}/*** 遞增緩存值* @param key* @return*/@Overridepublic long incr(String key) {Jedis jedis = jedisPool.getResource();Long result = jedis.incr(key);jedis.close();return result;}/*** 設置緩存值有效時間* @param key* @param second* @return*/@Overridepublic long expire(String key, int second) {Jedis jedis = jedisPool.getResource();Long result = jedis.expire(key, second);jedis.close();return result;}/*** 獲取緩存值失效時間* @param key* @return*/@Overridepublic long ttl(String key) {Jedis jedis = jedisPool.getResource();Long result = jedis.ttl(key);jedis.close();return result;}/*** 刪除string緩存值* @param key* @return*/@Overridepublic long del(String key) {Jedis jedis = jedisPool.getResource();Long result = jedis.del(key);jedis.close();return result;}/*** 批量刪除以string為前綴的key * @param key* @return*/@Overridepublic void batchDel(String key) {Jedis jedis = jedisPool.getResource();Set<String> set = jedis.keys(key+"*");  Iterator<String> it = set.iterator();  while(it.hasNext()){  String keyStr = it.next();  jedis.del(keyStr);}jedis.close();}/*** 刪除hash緩存值* @param hkey* @param key* @return*/@Overridepublic long hdel(String hkey, String key) {Jedis jedis = jedisPool.getResource();Long result = jedis.hdel(hkey, key);jedis.close();return result;}/*** 判斷key是否存在* @param key* @return*/@Overridepublic boolean exists(String key) {Jedis jedis = jedisPool.getResource();boolean exists = jedis.exists(key);jedis.close();return exists;}/*** 清空緩存數據* @return*/@Overridepublic boolean clear() {Jedis jedis = jedisPool.getResource();jedis.flushAll();jedis.close();return true;}}

?

?

?

?

?

?

?

7. ?測試通過,可以使用了:

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451851.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451851.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451851.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Redhat7.3安裝配置Telnet詳細教程

請參考&#xff1a;https://blog.csdn.net/weixin_39934520/article/details/84835949 謝謝樓主分享&#xff01;

程序員的半衰期只有15年?

曾在Google工作負責過技術工作的科技編輯 Matt Heusser總結了他在Google的生活經歷&#xff0c;得出結論&#xff1a; 作為程序員&#xff0c;你只有15年時間。Matt 寫道當我在Google工作時&#xff0c;發現Google大部分人都是20出頭的年輕人&#xff0c;他們經歷的很多事情都是…

EasyNVR、EasyDSS二次開發之:RTMP、HLS流在web頁面進行無插件播放示例Demo代碼

不管是基于EasyNVR還是EasyDSS&#xff0c;都是支持無插件直播&#xff0c;這也是未來視頻直播的一個趨勢。對于傳統的瀏覽器插件播放誰用誰知道&#xff1b; 以上是軟件自帶播放展示 背景需求 對于EasyNVR和EasyDSS的使用方式大概分為兩大類&#xff0c;一類是直接將軟件作為視…

jsp中%@ % 與% % 與%! %

<% %> 有個符號的&#xff0c;叫做指令用來提供整個JSP 網頁相關的信息&#xff0c;并且用來設定JSP網頁的相關屬性&#xff0c; 例如&#xff1a;網頁的編碼方式、語法、信息等。<% %>這個叫做小腳本&#xff0c;是寫java代碼的<%! %>這個是jsp中腳本聲明&a…

Hadoop的學習路線圖

目錄&#xff1a;.1.Hadoop家族產品2.Hadoop家族學習路線圖 Hadoop家族產品截止到2013年&#xff0c;根據cloudera的統計&#xff0c;Hadoop家族產品已經達到20個&#xff01;接下來&#xff0c;我把這20個產品&#xff0c;分成了2類。?第一類&#xff0c;是我已經掌握的?第二…

new TypeToken<List>>(){}.getType() 是什么意思

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 項目中代碼&#xff1a; List<AppVersion> redisList new Gson().fromJson(json, new TypeToken<List<AppVersion>…

11--移除重復節點

編寫代碼&#xff0c;移除未排序鏈表中的重復節點。保留最開始出現的節點。 示例1: 輸入&#xff1a;[1, 2, 3, 3, 2, 1] 輸出&#xff1a;[1, 2, 3] 示例2: 輸入&#xff1a;[1, 1, 1, 1, 2] 輸出&#xff1a;[1, 2]

信息圖:程序員/開發人員實際在用哪些工具

BestVendor.com的工作人員在全球范圍內采訪了500名重要開發人員&#xff0c;在調查詢問他們實際使用的工具后&#xff0c;制作了一張信息圖&#xff0c;如下。 這張信息圖覆蓋10個方面的工具&#xff1a;Bug 追蹤、數據庫、開發框架、集成開發環境&#xff08;IDE&#xff09;、…

class特性

每個HTML元素都可以附帶一個class特性。有時候&#xff0c;你希望有一種方法可以指定多個元素并將這些元素和頁面上的其他元素區分出來&#xff0c;而不是單獨指定文檔中的某個元素。 <!DOCTYPE html> <!-- To change this license header, choose License Headers in…

Xcode代碼提示聯想功能失效,按command鍵點不進去類庫,提示“?”

一大早電腦重啟了下&#xff0c;打開項目之后出現了一堆問號&#xff0c;懷疑是Xcode 抽風了&#xff0c;本著懷疑的態度&#xff0c;新建了項目&#xff0c;一波操作下來是正常的&#xff0c;代碼能聯想&#xff0c;command也好使。于是在網上找答案&#xff0c;終于在這里找到…

12-- 缺失的第一個正數

文章目錄1.問題描述2.解題代碼1.問題描述 給你一個未排序的整數數組&#xff0c;請你找出其中沒有出現的最小的正整數。 示例 1: 輸入: [1,2,0] 輸出: 3 示例 2: 輸入: [3,4,-1,1] 輸出: 2 示例 3: 輸入: [7,8,9,11,12] 輸出: 1 提示&#xff1a; 你的算法的時間復雜度應…

java中的private public protected

1、public&#xff1a;public表明該數據成員、成員函數是對所有用戶開放的&#xff0c;所有用戶都可以直接進行調用 2、private&#xff1a;private表示私有&#xff0c;私有的意思就是除了class自己之外&#xff0c;任何人都不可以直接使用&#xff0c;私有財產神圣不可侵…

7款最流行的在線項目管理工具推薦

本文介紹一些非常流行的在線項目管理工具&#xff0c;希望你喜歡。 1. Apptivo 如果你是一個創業的或自由開發人員&#xff0c;或者屬于一個小型專業團隊&#xff0c;Apptivo這個項目管理軟件很值得你你研究。實質上&#xff0c;它是一個基于Web的項目管理應用&#xff0c;讓你…

VR全景看年評!PConline年度評測盛典等你來體驗

【PConline 2016年度評測】又是一年春草綠&#xff0c;馬上還有十天扒拉月2016年就快過完了。每年到這個時候&#xff0c;我們不禁都會拷問自己&#xff1a;你存到錢了么&#xff1f;娶到媳婦了么&#xff1f;買到房了么&#xff1f;答案是都沒有&#xff01;哈哈&#xff0c;這…

swagger詳解

1快速環境搭建 pom.xml文件中添加如下內容(看清楚再復制&#xff0c;此處不是全部內容) 1 <properties>2 ...3 <swagger.version>2.2.2</swagger.version>4 ...5 </properties>6 7 <dependency>8 …

13--長度最小的子數組

文章目錄1.題目要求2.解題代碼1.題目要求 給定一個含有 n 個正整數的數組和一個正整數 s &#xff0c;找出該數組中滿足其和 ≥ s 的長度最小的連續子數組&#xff0c;并返回其長度。如果不存在符合條件的連續子數組&#xff0c;返回 0。 示例&#xff1a; 輸入&#xff1a;…

HttpServletRequest 常用方法講解

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Web服務器收到一個http請求&#xff0c;會針對每個請求創建一個HttpServletRequest和HttpServletResponse對象&#xff0c; 從客戶端取…

object中的toString方法

任何一個類都是從Object類繼承下來的&#xff0c;因此在任何一個類里面都可以重寫這個toString()方法。toString()方法的作用是當一個引用對象和字符串作連接的時候&#xff0c;或者是直接打印這個引用對象的時侯&#xff0c;這個引用對象都會自動調用toString()方法&#xff0…

東網科技榮膺2016中國大數據最佳實踐獎

11月24日&#xff0c;由中國軟件網主辦的數據趴活動圓滿落幕&#xff0c;活動現場隆重揭曉了大數據領域的重磅榜單&#xff0c;旨在對大數據領域中表現突出的企業、人物進行表彰。東網科技有限公司(以下簡稱“東網科技”)憑借大數據運營支撐平臺及在環保、煙草、教育、政府等行…

Apache Subversion 1.7.2發布,開源版本控制工具

SVN&#xff08;Subversion&#xff09;已經發布了1.7的第二個維護版本。 Apache Subversion是一個開放源碼、多用戶的版本控制系統&#xff0c;支持非 ASCII 文本和二進制數據&#xff0c;支持可在本地訪問或通過網絡訪問的數據庫和文件系統存儲庫。相對于傳統的RCS、CVS&…