欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在Java中以及Spring環(huán)境下操作Redis的過程

 更新時(shí)間:2025年03月13日 17:01:15   作者:呼啦啦啦啦啦啦啦啦  
文章介紹了在Java和Spring環(huán)境下操作Redis的基本方法,在Java環(huán)境下,使用Maven創(chuàng)建項(xiàng)目并導(dǎo)入Jedis依賴,通過配置端口轉(zhuǎn)發(fā)訪問Redis,文章總結(jié)了Redis的基本命令和類別,如String、list、hash、set和zset,感興趣的朋友跟隨小編一起看看吧

Java環(huán)境下:

1.創(chuàng)建maven 項(xiàng)目

2.導(dǎo)入依賴

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

此處使用的是Jedis(提供的api和redis命令高度一致)

3.配置端口轉(zhuǎn)發(fā)

防止Redis的端口被黑客攻擊     將云服務(wù)器的redis端口映射到本地主機(jī)中

在xshell中配置:

 此時(shí), 訪問本地的 8888, 就相當(dāng)于訪問對(duì)應(yīng)服務(wù)器的 6379

此時(shí)連接成功

一.基本命令:

    public static void test(Jedis jedis) {
        System.out.println("set 和 get 使用");
        //清空數(shù)據(jù)庫
        jedis.flushAll();
        jedis.set("key","k1");
        jedis.set("key2","k2");
        jedis.set("key3","k3");
        String key = jedis.get("key");
        String key2 = jedis.get("key2");
        String key3 = jedis.get("key3");
        System.out.println("key: " + key);
        System.out.println("key2: " + key2);
        System.out.println("key3: " + key3);
        System.out.println("exists 和 del 使用");
        boolean result = jedis.exists("key");
        System.out.println("result:" + result);
        result = jedis.exists("key1111");
        System.out.println("result:" + result);
        long del = jedis.del("key", "key2");
        result = jedis.exists("key");
        System.out.println("result:" + result);
        System.out.println("keys 使用");
        jedis.set("key","k1");
        jedis.set("key2","k2");
        Set<String> keys = jedis.keys("*");
        System.out.println("keys: " + keys);
        System.out.println("expire 和 ttl 使用");
        jedis.set("key4","k4");
        jedis.expire("key4",10);
        //休眠5s
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        long ttl = jedis.ttl("key4");
        System.out.println("ttl: " + ttl );
        System.out.println("type 使用");
        jedis.flushAll();
        jedis.set("String", "1");
        String type = jedis.type("String");
        System.out.println("type: "+type);
        jedis.lpush("list","111","222","333");
        type = jedis.type("list");
        System.out.println("type: "+type);
        jedis.sadd("set","a","b","c");
        type = jedis.type("set");
        System.out.println("type: "+type);
        jedis.zadd("zset",1.0,"zhangsan");
        type = jedis.type("zset");
        System.out.println("type: "+type);
        jedis.hset("hash","f1 ","v1");
        type = jedis.type("hash");
        System.out.println("type: "+type);
    }

 String :

    public static void test(Jedis jedis) {
        //清空數(shù)據(jù)庫
        jedis.flushAll();
        System.out.println("mset 和 mget 使用");
        jedis.mset("k1","111","k2","222","k3","333");
        List<String> mget = jedis.mget("k1", "k2", "k3","k4");
        System.out.println("mget: " +mget);
        System.out.println("getrange 和 setrange 使用");
        jedis.set("k4","abcdefgh");
        String k4 = jedis.getrange("k4", 0, 4);
        System.out.println("result: " +k4);
        jedis.setrange("k4",0,"eeee");
        System.out.println("k4: " +jedis.get("k4"));
        System.out.println("append 使用");
        jedis.append("k4","aaaaaa");
        System.out.println("k4: " + jedis.get("k4"));
        System.out.println("incr 和 decr 使用");
        jedis.set("k5","111");
        System.out.println( "k5: " + jedis.incr("k5"));
        System.out.println( "k5: " + jedis.decr("k5"));
    }

 

list使用:

    public static void  test(Jedis jedis) {
        jedis.flushAll();
        System.out.println("lpush 和 lrange 使用");
        jedis.lpush("key","1","2","3","4","5");
        System.out.println("key:" + jedis.lrange("key",0,-1));
        System.out.println("rpuhs ,rpop, lpop 使用 ");
        jedis.rpush("key2","1","2","3","4","5");
        System.out.println("key2 :" + jedis.lrange("key2",0,-1));
        System.out.println("lpop key2:" + jedis.lpop("key2"));
        System.out.println("rpop key2:" + jedis.rpop("key2"));
        System.out.println("llen 使用");
        System.out.println("len key2: " + jedis.llen("key2"));
    }

hash的使用:

    private static void test(Jedis jedis) {
        jedis.flushAll();
        System.out.println("hset 和 hget 使用");
        HashMap<String,String> hash = new HashMap<>();
        hash.put("f2","v2");
        hash.put("f3","v3");
        hash.put("f4","v4");
        jedis.hset("key",hash);
        jedis.hset("key","f1","v1");
        System.out.println("key f1: " +jedis.hget("key", "f1"));
        System.out.println("key f5: " +jedis.hget("key", "f5"));
        System.out.println("hexists 使用");
        Boolean result = jedis.hexists("key","f1");
        System.out.println("key f1 result: " + result);
        result = jedis.hexists("key","f5");
        System.out.println("key f5 result: " + result);
        System.out.println("hkeys 和 hvals 使用");
        Set<String> hkeys = jedis.hkeys("key");
        System.out.println("hkeys: " + hkeys);
        List<String> hvals = jedis.hvals("key");
        System.out.println("hvals: " +hvals);
        System.out.println("hdel 使用");
        jedis.hdel("key","f1");
        result = jedis.hexists("key","f1");
        System.out.println("key f1 result: " + result);
        System.out.println("hmset 和 hmget 使用");
        List<String> hmget = jedis.hmget("key", "f1", "f2", "f3");
        System.out.println("hmget key: " + hmget);
    }

set的使用:

    public static void test(Jedis jedis) {
        jedis.flushAll();
        System.out.println("sadd 和 smembers 使用");
        jedis.sadd("key","a","b","c","d");
        Set<String> smembers = jedis.smembers("key");
        System.out.println("key: " +smembers);
        System.out.println("sismember , scard , spop  使用");
        boolean result = jedis.sismember("key", "a");
        System.out.println("result: " + result);
        long len  = jedis.scard("key");
        System.out.println("key len: " +len);
        jedis.spop("key");
        System.out.println("key len: " +jedis.scard("key"));
        System.out.println("sinter 和 sinterstore");
        jedis.sadd("key2","1","2","3","4","5");
        jedis.sadd("key3","3","4","5","6","7");
        System.out.println("[key2 key3]sinter: "+ jedis.sinter("key2","key3"));
        long sinterstore = jedis.sinterstore("key4", "key2", "key3");
        System.out.println("sinterstore: " + sinterstore);
        System.out.println("key4: " + jedis.smembers("key4"));
    }

zset的使用:

    public static void test(Jedis jedis) {
        jedis.flushAll();
        System.out.println("zadd 和 zrange 使用");
        jedis.zadd("key",10.0,"zhangsan");
        Map<String ,Double> hash = new HashMap<>();
        hash.put("lisi",20.0);
        hash.put("wangwu",30.0);
        jedis.zadd("key",hash);
        List<String> members = jedis.zrange("key", 0, -1);
        System.out.println("members: "+members);
        List<Tuple> key = jedis.zrangeWithScores("key", 0, -1);
        System.out.println("key: " + key);
        System.out.println("zcard , zscore 使用");
        long len = jedis.zcard("key");
        System.out.println("len key: " +len);
        Double score  =  jedis.zscore("key","zhangsan");
        System.out.println("score: " + score);
        System.out.println("zrem , zrank 使用");
        Long zrank = jedis.zrank("key", "lisi");
        System.out.println("lisi rank: " + zrank);
        jedis.zrem("key","zhangsan");
        System.out.println("lisi rank: " + jedis.zrank("key", "lisi"));
    }

 

都是一些基本操作,跟在redis操作基本一致,

Spring環(huán)境:

創(chuàng)建項(xiàng)目時(shí)勾選即可

通過注入的方法拿到StringRedisTemplate操作Redis 相當(dāng)于剛才的Jedis

 將操作Redis的方法分成幾個(gè)類別,好進(jìn)一步更好的組織

大體命令基本一致 

到此這篇關(guān)于在Java中以及Spring環(huán)境下操作Redis的文章就介紹到這了,更多相關(guān)java中操作redis內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java?synchronized底層實(shí)現(xiàn)原理以及鎖優(yōu)化

    Java?synchronized底層實(shí)現(xiàn)原理以及鎖優(yōu)化

    Synchronized是Java中解決并發(fā)問題的一種最常用的方法,也是最簡(jiǎn)單的一種方法,下面這篇文章主要給大家介紹了關(guān)于Java?synchronized底層實(shí)現(xiàn)原理以及鎖優(yōu)化的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • SpringMVC中的Model對(duì)象用法說明

    SpringMVC中的Model對(duì)象用法說明

    這篇文章主要介紹了SpringMVC中的Model對(duì)象用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 解決springboot3:mybatis-plus依賴錯(cuò)誤:org.springframework.beans.factory.UnsatisfiedDependencyException

    解決springboot3:mybatis-plus依賴錯(cuò)誤:org.springframework.beans.fac

    這篇文章主要介紹了解決springboot3:mybatis-plus依賴錯(cuò)誤:org.springframework.beans.factory.UnsatisfiedDependencyException問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Java 你知道什么是耦合、如何解(降低)耦合

    Java 你知道什么是耦合、如何解(降低)耦合

    這篇文章主要介紹了Java 你知道什么是耦合、如何解(降低)耦合的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • java?web實(shí)現(xiàn)簡(jiǎn)單登錄注冊(cè)功能全過程(eclipse,mysql)

    java?web實(shí)現(xiàn)簡(jiǎn)單登錄注冊(cè)功能全過程(eclipse,mysql)

    前期我們學(xué)習(xí)了javaweb項(xiàng)目用JDBC連接數(shù)據(jù)庫,還有數(shù)據(jù)庫的建表功能,下面這篇文章主要給大家介紹了關(guān)于java?web實(shí)現(xiàn)簡(jiǎn)單登錄注冊(cè)功能的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • JavaEE中struts2實(shí)現(xiàn)文件上傳下載功能實(shí)例解析

    JavaEE中struts2實(shí)現(xiàn)文件上傳下載功能實(shí)例解析

    這篇文章主要為大家詳細(xì)介紹了JavaEE中struts2實(shí)現(xiàn)文件上傳下載功能實(shí)例,感興趣的小伙伴們可以參考一下
    2016-05-05
  • RabbitMQ進(jìn)階之消息可靠性詳解

    RabbitMQ進(jìn)階之消息可靠性詳解

    這篇文章主要介紹了RabbitMQ進(jìn)階之消息可靠性詳解,abbitmq消息的投遞過程中,怎么確保消息能不丟失,這是一個(gè)很重要的問題,哪怕我們做了Rabbitmq持久化,也不能保證我們的業(yè)務(wù)消息不會(huì)被丟失,需要的朋友可以參考下
    2023-08-08
  • Java并發(fā)Lock接口實(shí)現(xiàn)示例詳解

    Java并發(fā)Lock接口實(shí)現(xiàn)示例詳解

    這篇文章主要為大家介紹了Java并發(fā)Lock接口,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Java設(shè)計(jì)模式之觀察者模式

    Java設(shè)計(jì)模式之觀察者模式

    這篇文章主要為大家介紹了Java觀察者模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Java程序員必備的11大IntelliJ插件(附地址)

    Java程序員必備的11大IntelliJ插件(附地址)

    這篇文章主要介紹了Java程序員必備的11大IntelliJ插件(附地址),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評(píng)論