在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Java 使用Redis緩存工具的詳細(xì)解說

lhl545545 ? 來源:電子發(fā)燒友網(wǎng) ? 2018-02-09 14:10 ? 次閱讀

Java 使用Redis緩存工具的詳細(xì)解說

開始在 Java 中使用 Redis 前, 我們需要確保已經(jīng)安裝了 redis 服務(wù)及 Java redis 驅(qū)動(dòng),且你的機(jī)器上能正常使用 Java。

(1)Java的安裝配置可以參考我們的 Java開發(fā)環(huán)境配置

(2)安裝了 redis 服務(wù);

請(qǐng)參考:Windows環(huán)境下使用Redis緩存工具的圖文詳細(xì)方法(http://m.xsypw.cn/d/633308.html)

或是:

首先你需要下載驅(qū)動(dòng)包,下載 jedis.jar,確保下載最新驅(qū)動(dòng)包。

在你的classpath中包含該驅(qū)動(dòng)包。

一、新建一個(gè)javaweb項(xiàng)目。

1. 新建一個(gè)Jedis的項(xiàng)目。

Java 使用Redis緩存工具的詳細(xì)解說
Java 使用Redis緩存工具的詳細(xì)解說

效果如下:

Java 使用Redis緩存工具的詳細(xì)解說

二、下載redis依賴包。

http://yunpan.cn/c36syrdrC6MDx 訪問密碼 0cd6

三、實(shí)戰(zhàn)案例

1. 連接本地的 Redis 服務(wù)和查看服務(wù)是否運(yùn)行

package com.souvc.redis;

import redis.clients.jedis.Jedis;

/**

* 類名: RedisJava

* 包名: com.souvc.redis

* 描述: 連接本地的 Redis 服務(wù)和查看服務(wù)是否運(yùn)行 《/br>

* 開發(fā)人員: souvc

* 創(chuàng)建時(shí)間: 2015-12-9

* 發(fā)布版本:V1.0

*/

public class RedisJava {

public static void main(String[] args) {

// 連接本地的 Redis 服務(wù)

Jedis jedis = new Jedis(“l(fā)ocalhost”);

System.out.println(“連接本地的 Redis 服務(wù)成功!”);

// 查看服務(wù)是否運(yùn)行

System.out.println(“服務(wù) 正在運(yùn)行: ” + jedis.ping());

}

}

效果如下:

Java 使用Redis緩存工具的詳細(xì)解說

為什么會(huì)報(bào)錯(cuò),是我們忘了開redis服務(wù)了。

Java 使用Redis緩存工具的詳細(xì)解說
Java 使用Redis緩存工具的詳細(xì)解說

重新運(yùn)行,發(fā)現(xiàn):

連接本地的 Redis 服務(wù)成功!

Server is running: PONG

以后,我們需要用redis,需要開啟這個(gè)服務(wù)。

2. Redis Java String(字符串) 實(shí)例

package com.souvc.redis;

import redis.clients.jedis.Jedis;

/**

* 類名: RedisJava

* 包名: com.souvc.redis

* 描述: Redis Java String(字符串) 實(shí)例

* 開發(fā)人員: souvc

* 創(chuàng)建時(shí)間: 2015-12-9

* 發(fā)布版本:V1.0

*/

public class RedisStringJava {

public static void main(String[] args) {

// 連接本地的 Redis 服務(wù)

Jedis jedis = new Jedis(“l(fā)ocalhost”);

System.out.println(“連接本地的 Redis 服務(wù)成功!”);

// 設(shè)置 redis 字符串?dāng)?shù)據(jù)

jedis.set(“souvc”, “http://www.cnblogs.com/liuhongfeng/”);

// 獲取存儲(chǔ)的數(shù)據(jù)并輸出

System.out.println(“redis存儲(chǔ)的字符串是: ” + jedis.get(“souvc”));

}

}

效果如下:

連接本地的 Redis 服務(wù)成功!

redis存儲(chǔ)的字符串是: http://www.cnblogs.com/liuhongfeng/

3. Redis Java List(列表) 實(shí)例 (1)

package com.souvc.redis;

import java.util.List;

import redis.clients.jedis.Jedis;

/**

* 類名: RedisListJava

* 包名: com.souvc.redis

* 描述: Redis Java List(列表) 實(shí)例

* 開發(fā)人員: souvc

* 創(chuàng)建時(shí)間: 2015-12-9

* 發(fā)布版本:V1.0

*/

public class RedisListJava {

public static void main(String[] args) {

// 連接本地的 Redis 服務(wù)

Jedis jedis = new Jedis(“l(fā)ocalhost”);

System.out.println(“連接本地的 Redis 服務(wù)成功!”);

// 存儲(chǔ)數(shù)據(jù)到列表中

jedis.lpush(“kecheng”, “java”);

jedis.lpush(“kecheng”, “php”);

jedis.lpush(“kecheng”, “Mysql”);

// 獲取存儲(chǔ)的數(shù)據(jù)并輸出

List《String> list = jedis.lrange(“kecheng”, 0, 5);

for (int i = 0; i< list.size(); i++) {

System.out.println(“redis list里面存儲(chǔ)的值是:” + list.get(i));

}

}

}

效果如下:

連接本地的 Redis 服務(wù)成功!

redis list里面存儲(chǔ)的值是:Mysql

redis list里面存儲(chǔ)的值是:php

redis list里面存儲(chǔ)的值是:java

Redis Java List(列表) 實(shí)例 (2)

package com.souvc.redis;

import redis.clients.jedis.Jedis;

public class RedisListJava2 {

/**

* 方法名:main

* 詳述:Redis Java List(列表) 實(shí)例 2

* 開發(fā)人員:souvc

* 創(chuàng)建時(shí)間:2015-12-9

* @param args 說明返回值含義

* @throws 說明發(fā)生此異常的條件

*/

public static void main(String[] args) {

// 連接本地的 Redis 服務(wù)

Jedis jedis = new Jedis(“l(fā)ocalhost”);

System.out.println(“連接本地的 Redis 服務(wù)成功!”);

//開始前,先移除所有的內(nèi)容

jedis.del(“java framework”);

System.out.println(jedis.lrange(“java framework”,0,-1));

//先向key java framework中存放三條數(shù)據(jù)

jedis.lpush(“java framework”,“spring”);

jedis.lpush(“java framework”,“struts”);

jedis.lpush(“java framework”,“hibernate”);

//再取出所有數(shù)據(jù)jedis.lrange是按范圍取出,

// 第一個(gè)是key,第二個(gè)是起始位置,第三個(gè)是結(jié)束位置,jedis.llen獲取長度 -1表示取得所有

System.out.println(jedis.lrange(“java framework”,0,-1));

jedis.del(“java framework”);

jedis.rpush(“java framework”,“spring”);

jedis.rpush(“java framework”,“struts”);

jedis.rpush(“java framework”,“hibernate”);

System.out.println(jedis.lrange(“java framework”,0,-1));

}

}

效果如下:

連接本地的 Redis 服務(wù)成功!

[]

[hibernate, struts, spring]

[spring, struts, hibernate]

4. Redis Java Map 實(shí)例

package com.souvc.redis;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import redis.clients.jedis.Jedis;

public class RedisMapJava {

/**

* 方法名:main

* 詳述:redis操作Map

* 開發(fā)人員:souvc

* 創(chuàng)建時(shí)間:2015-12-10

* @param args 說明返回值含義

* @throws 說明發(fā)生此異常的條件

*/

public static void main(String[] args) {

// 連接本地的 Redis 服務(wù)

Jedis jedis = new Jedis(“l(fā)ocalhost”);

System.out.println(“連接本地的 Redis 服務(wù)成功!”);

//-----添加數(shù)據(jù)----------

Map map = new HashMap();

map.put(“name”, “xinxin”);

map.put(“age”, “22”);

map.put(“qq”, “123456”);

jedis.hmset(“user”,map);

//取出user中的name,執(zhí)行結(jié)果:[minxr]-->注意結(jié)果是一個(gè)泛型的List

//第一個(gè)參數(shù)是存入redis中map對(duì)象的key,后面跟的是放入map中的對(duì)象的key,后面的key可以跟多個(gè),是可變參數(shù)

Listrsmap = jedis.hmget(“user”, “name”, “age”, “qq”);

System.out.println(rsmap);

//刪除map中的某個(gè)鍵值

jedis.hdel(“user”,“age”);

System.out.println(jedis.hmget(“user”, “age”)); //因?yàn)閯h除了,所以返回的是null

System.out.println(jedis.hlen(“user”)); //返回key為user的鍵中存放的值的個(gè)數(shù)2

System.out.println(jedis.exists(“user”));//是否存在key為user的記錄 返回true

System.out.println(jedis.hkeys(“user”));//返回map對(duì)象中的所有key

System.out.println(jedis.hvals(“user”));//返回map對(duì)象中的所有value

Iterator《String> iter=jedis.hkeys(“user”).iterator();

while (iter.hasNext()){

String key = iter.next();

System.out.println(key+“:”+jedis.hmget(“user”,key));

}

}

}

效果:

連接本地的 Redis 服務(wù)成功!

[xinxin, 22, 123456]

[null]

2

true

[qq, name]

[123456, xinxin]

qq:[123456]

name:[xinxin]

5. Redis Java Set 實(shí)例

package com.souvc.redis;

import redis.clients.jedis.Jedis;

public class RedisSetJava {

/**

* 方法名:main

* 詳述:Redis Java Set 實(shí)例

* 開發(fā)人員:souvc

* 創(chuàng)建時(shí)間:2015-12-10

* @param args 說明返回值含義

* @throws 說明發(fā)生此異常的條件

*/

public static void main(String[] args) {

// 連接本地的 Redis 服務(wù)

Jedis jedis = new Jedis(“l(fā)ocalhost”);

System.out.println(“連接本地的 Redis 服務(wù)成功!”);

//刪除map中的某個(gè)鍵值

//jedis.hdel(“user”);

//添加

jedis.sadd(“user”,“l(fā)iuling”);

jedis.sadd(“user”,“xinxin”);

jedis.sadd(“user”,“l(fā)ing”);

jedis.sadd(“user”,“zhangxinxin”);

jedis.sadd(“user”,“who”);

//移除noname

jedis.srem(“user”,“who”);

System.out.println(jedis.smembers(“user”));//獲取所有加入的value

System.out.println(jedis.sismember(“user”, “who”));//判斷 who 是否是user集合的元素

System.out.println(jedis.srandmember(“user”));

System.out.println(jedis.scard(“user”));//返回集合的元素個(gè)數(shù)

}

}

效果如下:

連接本地的 Redis 服務(wù)成功!

[xinxin, liuling, ling, zhangxinxin]

false

ling

4

5. Redis Java Sort實(shí)例

package com.souvc.redis;

import redis.clients.jedis.Jedis;

public class RedisSortJava {

/**

* 方法名:main

* 詳述:jedis 排序

* 開發(fā)人員:souvc

* 創(chuàng)建時(shí)間:2015-12-10

* @param args 說明返回值含義

* @throws 說明發(fā)生此異常的條件

*/

public static void main(String[] args) {

// 連接本地的 Redis 服務(wù)

Jedis jedis = new Jedis(“l(fā)ocalhost”);

System.out.println(“連接本地的 Redis 服務(wù)成功!”);

//jedis 排序

//注意,此處的rpush和lpush是List的操作。是一個(gè)雙向鏈表(但從表現(xiàn)來看的)

jedis.del(“a”);//先清除數(shù)據(jù),再加入數(shù)據(jù)進(jìn)行測試

jedis.rpush(“a”, “1”);

jedis.lpush(“a”,“6”);

jedis.lpush(“a”,“3”);

jedis.lpush(“a”,“9”);

System.out.println(jedis.lrange(“a”,0,-1));// [9, 3, 6, 1]

System.out.println(jedis.sort(“a”)); //[1, 3, 6, 9] //輸入排序后結(jié)果

System.out.println(jedis.lrange(“a”,0,-1));

}

}

效果:

連接本地的 Redis 服務(wù)成功!

[9, 3, 6, 1]

[1, 3, 6, 9]

[9, 3, 6, 1]

注意:如果是出現(xiàn)這個(gè)錯(cuò)誤,那么是因?yàn)樵O(shè)置了密碼。

Java 使用Redis緩存工具的詳細(xì)解說

我們需要加上一個(gè)auth方法進(jìn)行校驗(yàn)。

// 連接本地的 Redis 服務(wù)

Jedis jedis = new Jedis(“l(fā)ocalhost”);

//jedis.auth(“souvc”);

System.out.println(“連接本地的 Redis 服務(wù)成功!”);

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2982

    瀏覽量

    106456
  • Redis
    +關(guān)注

    關(guān)注

    0

    文章

    381

    瀏覽量

    11226
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Redis實(shí)戰(zhàn)筆記

    在目前的技術(shù)選型中,Redis 儼然已經(jīng)成為了系統(tǒng)高性能緩存方案的事實(shí)標(biāo)準(zhǔn),因此現(xiàn)在?Redis 也成為了后端開發(fā)的基本技能樹之一。 ? 基于上述情況,今天給大家分享一份?杰哥?親筆撰寫的內(nèi)部
    的頭像 發(fā)表于 02-09 09:12 ?253次閱讀
    <b class='flag-5'>Redis</b>實(shí)戰(zhàn)筆記

    華為云 Flexus X 加速 Redis 案例實(shí)踐與詳解

    Redis 加速鏡像,更是為開發(fā)者提供了極大的便利。本文將詳細(xì)介紹如何利用華為云 Flexus X 實(shí)例自帶的 Redis 鏡像,快速部署并配置 Redis,以及通過實(shí)際案例展示其
    的頭像 發(fā)表于 01-23 17:52 ?224次閱讀
    華為云 Flexus X 加速 <b class='flag-5'>Redis</b> 案例實(shí)踐與詳解

    Redis Cluster之故障轉(zhuǎn)移

    1. Redis Cluster 簡介 Redis Cluster 是 Redis 官方提供的 Redis 集群功能。 為什么要實(shí)現(xiàn) Redis
    的頭像 發(fā)表于 01-20 09:21 ?642次閱讀
    <b class='flag-5'>Redis</b> Cluster之故障轉(zhuǎn)移

    基于javaPoet的緩存key優(yōu)化實(shí)踐

    數(shù)據(jù)庫中的熱數(shù)據(jù)緩存redis/本地緩存中,代碼如下: ? @Cacheable(value = { "per" }, key="#person.getId
    的頭像 發(fā)表于 01-14 15:18 ?697次閱讀
    基于javaPoet的<b class='flag-5'>緩存</b>key優(yōu)化實(shí)踐

    HTTP緩存頭的使用 本地緩存與遠(yuǎn)程緩存的區(qū)別

    HTTP緩存頭是一組HTTP響應(yīng)頭,它們控制瀏覽器和中間代理服務(wù)器如何緩存網(wǎng)頁內(nèi)容。合理使用HTTP緩存頭可以顯著提高網(wǎng)站的加載速度和性能,減少服務(wù)器的負(fù)載。 1. HTTP緩存頭概述
    的頭像 發(fā)表于 12-18 09:41 ?337次閱讀

    Redis緩存與Memcached的比較

    Redis和Memcached都是廣泛使用的內(nèi)存數(shù)據(jù)存儲(chǔ)系統(tǒng),它們主要用于提高應(yīng)用程序的性能,通過減少對(duì)數(shù)據(jù)庫的直接訪問來加速數(shù)據(jù)檢索。以下是對(duì)Redis和Memcached的比較,涵蓋了它們的一些
    的頭像 發(fā)表于 12-18 09:33 ?431次閱讀

    解說篇:模組雖小,SIM卡電路設(shè)計(jì)不能少!

    本文解說的是關(guān)于SIM卡接口功能及其電路設(shè)計(jì)相關(guān)注意事項(xiàng),我將詳細(xì)信息整理如下分享給大家。
    的頭像 發(fā)表于 12-04 21:03 ?567次閱讀
    <b class='flag-5'>解說</b>篇:模組雖小,SIM卡電路設(shè)計(jì)不能少!

    緩存之美——如何選擇合適的本地緩存

    Guava cache是Google開發(fā)的Guava工具包中一套完善的JVM本地緩存框架,底層實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)類似于ConcurrentHashMap,但是進(jìn)行了更多的能力拓展,包括緩存過期時(shí)間設(shè)置、
    的頭像 發(fā)表于 11-17 14:24 ?646次閱讀
    <b class='flag-5'>緩存</b>之美——如何選擇合適的本地<b class='flag-5'>緩存</b>?

    基于Java工具Power Stage Designer

    電子發(fā)燒友網(wǎng)站提供《基于Java工具Power Stage Designer.pdf》資料免費(fèi)下載
    發(fā)表于 11-14 16:01 ?4次下載
    基于<b class='flag-5'>Java</b>的<b class='flag-5'>工具</b>Power Stage Designer

    使用Arthas火焰圖工具Java應(yīng)用性能分析和優(yōu)化經(jīng)驗(yàn)

    分享作者在使用Arthas火焰圖工具進(jìn)行Java應(yīng)用性能分析和優(yōu)化的經(jīng)驗(yàn)。
    的頭像 發(fā)表于 10-28 09:27 ?864次閱讀
    使用Arthas火焰圖<b class='flag-5'>工具</b>的<b class='flag-5'>Java</b>應(yīng)用性能分析和優(yōu)化經(jīng)驗(yàn)

    聊聊緩存擊穿的解決方法

    緩存擊穿,Redis中的某個(gè)熱點(diǎn)key不存在或者過期,但是此時(shí)有大量的用戶訪問該key。比如xxx直播間優(yōu)惠券搶購、xxx商品活動(dòng),這時(shí)候大量用戶會(huì)在某個(gè)時(shí)間點(diǎn)一同訪問該熱點(diǎn)事件。但是可能
    的頭像 發(fā)表于 10-23 13:54 ?398次閱讀

    什么是CPU緩存?它有哪些作用?

    CPU緩存(Cache Memory)是計(jì)算機(jī)系統(tǒng)中一個(gè)至關(guān)重要的組成部分,它位于CPU與內(nèi)存之間,作為兩者之間的臨時(shí)存儲(chǔ)器。CPU緩存的主要作用是減少CPU訪問內(nèi)存所需的時(shí)間,從而提高系統(tǒng)的整體性能。以下將詳細(xì)闡述CPU
    的頭像 發(fā)表于 08-22 14:54 ?5157次閱讀

    華納云:java web和java有什么區(qū)別java web和java有什么區(qū)別

    Java Web和Java是兩個(gè)不同的概念,它們?cè)诠δ堋⒂猛竞蛯?shí)現(xiàn)方式上存在一些區(qū)別,下面將詳細(xì)介紹它們之間的區(qū)別。 1. 功能和用途: – Java是一種編程語言,它提供了一種用于開
    的頭像 發(fā)表于 07-16 13:35 ?1245次閱讀
    華納云:<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區(qū)別<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區(qū)別

    K8S學(xué)習(xí)教程(二):在 PetaExpress KubeSphere容器平臺(tái)部署高可用 Redis 集群

    前言 Redis 是在開發(fā)過程中經(jīng)常用到的緩存中間件,為了考慮在生產(chǎn)環(huán)境中穩(wěn)定性和高可用,Redis通常采用集群模式的部署方式。 在制定Redis集群的部署策略時(shí),常規(guī)部署在虛擬機(jī)上的
    的頭像 發(fā)表于 07-03 15:30 ?1026次閱讀
    K8S學(xué)習(xí)教程(二):在 PetaExpress KubeSphere容器平臺(tái)部署高可用 <b class='flag-5'>Redis</b> 集群

    使用Redis和Spring?Ai構(gòu)建rag應(yīng)用程序

    隨著AI技術(shù)的不斷進(jìn)步,開發(fā)者面臨著如何有效利用現(xiàn)有工具和技術(shù)來加速開發(fā)過程的挑戰(zhàn)。Redis與SpringAI的結(jié)合為Java開發(fā)者提供了一個(gè)強(qiáng)大的平臺(tái),以便快速構(gòu)建并部署響應(yīng)式AI應(yīng)用。探索這一
    的頭像 發(fā)表于 04-29 08:04 ?1437次閱讀
    使用<b class='flag-5'>Redis</b>和Spring?Ai構(gòu)建rag應(yīng)用程序
    主站蜘蛛池模板: 在线免费观看视频 | 丁香婷婷视频 | 四虎影院中文字幕 | 欧美一级在线免费观看 | 亚洲伊人精品综合在合线 | 亚洲欧美一区二区久久香蕉 | 午夜免费毛片 | 特黄特黄视频 | 天天色天天草 | 九九全国免费视频 | 午夜影院在线观看视频 | 五月国产综合视频在线观看 | 欧美亚洲综合在线观看 | 迅雷www天堂在线资源 | 综合激情六月 | 在线看黄的网站 | 男子扒开美女尿口做羞羞的事 | 天堂资源网 | 永久免费视频网站在线观看 | 亚洲人与牲动交xxxxbbbb | 日本bt | 国产片一区二区三区 | 色姑娘天天干 | 六月丁香激情网 | 欧美人与牲动交xxxxbbbb | 欧美干色 | 天天草天天操 | 黄色插插插 | 在线免费看黄的网站 | 天堂中文在线www | 欧美性黑人极品1819hd | 88av免费观看| 日韩免费视频一区二区 | 五月天婷婷视频在线观看 | 日韩免费一级 | 五月丁香六月综合缴清无码 | 午夜精品一区二区三区在线视 | www激情| 日本成人一级片 | 超大乳抖乳露双乳视频 | 香蕉视频在线观看黄 |