這篇文章主要介紹基于SpringBoot集成測(cè)試遠(yuǎn)程連接redis服務(wù)的教程詳解,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
專(zhuān)注于為中小企業(yè)提供網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)甘肅免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
前期準(zhǔn)備
Linux虛擬機(jī)或者租用的云服務(wù)器:sudo安裝redis,或者docker加載redis鏡像。后者需要使用docker啟用redis容器。
配置好redis.conf文件。注意:一定要注釋 # bind 127.0.0.1
其他詳細(xì)配置可參考我另一篇文章,不過(guò)能想到集成測(cè)試redis,配置文件應(yīng)該已經(jīng)配置好了。
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
開(kāi)放6379端口
初始化SpringBoot項(xiàng)目使用Spring Initializr 初始化一個(gè)SpringBoot項(xiàng)目,可以勾選NOSQL下這兩項(xiàng),或者后面自行添加pom依賴(lài)。(當(dāng)然也可以初始化一個(gè)maven項(xiàng)目來(lái)測(cè)試)
添加jedis依賴(lài)
redis.clients jedis 3.2.0
編寫(xiě)簡(jiǎn)易的單元測(cè)試程序
可使用ifconfig
或者 ip addr
查詢服務(wù)器的ip地址
/** * host: 虛擬機(jī)或遠(yuǎn)程服務(wù)器的ip地址 * port: redis.conf中配置的服務(wù)端口號(hào) */ @Test void TestPing() { Jedis jedis = new Jedis("192.168.137.132",6379); System.out.println("TestPing >>>>>>>>>>>>> "+jedis.ping()); }
測(cè)試結(jié)果:
測(cè)試五大基本數(shù)據(jù)類(lèi)型
測(cè)試過(guò)程中,有些數(shù)據(jù)防止重復(fù)插入,部分測(cè)試用例使用了del
命令。
五大基本數(shù)據(jù)類(lèi)型:字符串,列表,哈希,集合,有序集合
每次單元測(cè)試都需進(jìn)行遠(yuǎn)程連接,故做以下處理:
@SpringBootTest class JedisDemoApplicationTests { // 此處配置連接 Jedis jedis = new Jedis("192.168.137.132",6379); @Test void contextLoads() { } // 此處進(jìn)行單元測(cè)試 }
Key鍵
測(cè)試用例:
@Test void KeyTest() { System.out.println(jedis.keys("*")); System.out.println(jedis.keys("*").getClass()); }
測(cè)試結(jié)果:
[list01, customer, set01, username]
class java.util.HashSet
String字符串
測(cè)試用例:
@Test void StringTest() { System.out.println("測(cè)試set >>> "+jedis.set("name", "kris")); System.out.println("測(cè)試get >>> "+jedis.get("name")); System.out.println(jedis.get("name").getClass()); System.out.println("\n測(cè)試append >>> "+jedis.append("name", " ^v^")); System.out.println("測(cè)試strlen >>> "+jedis.strlen("name")); System.out.println("測(cè)試get >>> "+jedis.get("name")); System.out.println("\n測(cè)試mset >>> "+jedis.mset( "username", "kris", "age", "18", "sex","男")); System.out.println("測(cè)試mget >>> "+jedis.mget("username", "age", "sex")); System.out.println("\n測(cè)試incr >>> "+jedis.incr("age")); System.out.println("測(cè)試incrBy >>> "+jedis.incrBy("age",3)); System.out.println("測(cè)試decr >>> "+jedis.decr("age")); System.out.println("測(cè)試decrBy >>> "+jedis.decrBy("age", 3)); }
測(cè)試結(jié)果:
測(cè)試set >>> OK
測(cè)試get >>> kris
class java.lang.String
測(cè)試append >>> 8
測(cè)試strlen >>> 8
測(cè)試get >>> kris ^v^
測(cè)試mset >>> OK
測(cè)試mget >>> [kris, 18, 男]
測(cè)試incr >>> 19
測(cè)試incrBy >>> 22
測(cè)試decr >>> 21
測(cè)試decrBy >>> 18
List列表
測(cè)試用例:
@Test void ListTest() { System.out.println("測(cè)試rpush >>> "+jedis.rpush("list01", "I", "love", "redis", "!")); System.out.println("測(cè)試lpush >>> "+jedis.lpush("list01", "hello")); System.out.println("測(cè)試lrange >>> "+jedis.lrange("list01", 0, -1)); System.out.println(jedis.lrange("list01", 0, -1).getClass()); System.out.println("\n測(cè)試lpop >>> "+jedis.lpop("list01")); System.out.println("測(cè)試rpop >>> "+jedis.rpop("list01")); System.out.println("測(cè)試lrange >>> "+jedis.lrange("list01", 0, -1)); System.out.println("\n測(cè)試lset >>> "+jedis.lset("list01", 0, "We")); System.out.println("測(cè)試lrange >>> "+jedis.lrange("list01", 0, -1)); System.out.println("\n測(cè)試 linsert >>> "+jedis.linsert("list01", ListPosition.AFTER, "redis", "!")); System.out.println("測(cè)試lrange >>> "+jedis.lrange("list01", 0, -1)); jedis.del("list01"); }
測(cè)試結(jié)果:
測(cè)試rpush >>> 4
測(cè)試lpush >>> 5
測(cè)試lrange >>> [hello, I, love, redis, !]
class java.util.ArrayList
測(cè)試lpop >>> hello
測(cè)試rpop >>> !
測(cè)試lrange >>> [I, love, redis]
測(cè)試lset >>> OK
測(cè)試lrange >>> [We, love, redis]
測(cè)試 linsert >>> 4
測(cè)試lrange >>> [We, love, redis, !]
Hash哈希
測(cè)試用例:
@Test void HashTest() { Mapcustomer = new HashMap<>(); customer.put("username", "kris"); customer.put("password", "123456"); customer.put("email", "kris@163.com"); System.out.println("測(cè)試hset >>> "+jedis.hset("customer", customer)); System.out.println("測(cè)試hget >>> "+jedis.hget("customer", "email")); System.out.println("測(cè)試getAll >>> "+jedis.hgetAll("customer")); System.out.println(jedis.hgetAll("customer").getClass()); }
測(cè)試結(jié)果:
測(cè)試hset >>> 0
測(cè)試hget >>> kris@163.com
測(cè)試getAll >>> {name=kris, email=kris@163.com, password=123456, username=kris}
class java.util.HashMapSet集合
測(cè)試用例:
@Test void SetTest() { System.out.println("測(cè)試sadd >>> "+jedis.sadd("names", "louis", "kris", "Jerry", "Jackson")); System.out.println("測(cè)試smembers >>> "+jedis.smembers("names")); System.out.println("測(cè)試scard >>> "+jedis.scard("names")); System.out.println(jedis.smembers("names").getClass()); System.out.println("\n測(cè)試srandmember >>> "+jedis.srandmember("names", 3)); System.out.println("測(cè)試srandmember >>> "+jedis.srandmember("names", 3)); System.out.println("\n測(cè)試spop >>> "+jedis.spop("names", 2)); System.out.println("測(cè)試smembers >>> "+jedis.smembers("names")); System.out.println("\n測(cè)試sadd >>> "+jedis.sadd("names0", "Jack", "louis", "kris")); System.out.println("測(cè)試sunion >>> "+jedis.sunion("names", "names0")); System.out.println("測(cè)試sdiff >>> "+jedis.sdiff("names", "names0")); System.out.println("測(cè)試sinter >>> "+jedis.sinter("names", "names0")); System.out.println("測(cè)試smembers >>> "+jedis.smembers("names")); System.out.println("測(cè)試smembers >>> "+jedis.smembers("names0")); jedis.del("names", "names0"); }
測(cè)試結(jié)果:
測(cè)試sadd >>> 4
測(cè)試smembers >>> [kris, Jerry, Jackson, louis]
測(cè)試scard >>> 4
class redis.clients.jedis.BinaryJedis$SetFromList測(cè)試srandmember >>> [kris, Jerry, Jackson]
測(cè)試srandmember >>> [Jerry, louis, Jackson]測(cè)試spop >>> [Jerry, kris]
測(cè)試smembers >>> [Jackson, louis]測(cè)試sadd >>> 3
測(cè)試sunion >>> [Jack, kris, louis, Jackson]
測(cè)試sdiff >>> [Jackson]
測(cè)試sinter >>> [louis]
測(cè)試smembers >>> [Jackson, louis]
測(cè)試smembers >>> [kris, Jack, louis]ZSet有序集合
測(cè)試用例:
@Test void SortSetTest() { Mapscore = new HashMap<>(); score.put("鉆石", 1000.0); score.put("王者", 2000.0); // 無(wú)序 score.put("星耀", 1500.0); score.put("榮耀", 2500.0); System.out.println("測(cè)試zadd >>> "+jedis.zadd("score", score)); System.out.println("測(cè)試zrangeByScore >>> "+jedis.zrangeByScore("score", 1500,2500)); System.out.println("測(cè)試zrange >>> "+jedis.zrange("score", 0,-1)); System.out.println("測(cè)試zrevrange >>> "+jedis.zrevrange("score", 0,-1)); System.out.println(jedis.smembers("names").getClass()); jedis.del("score"); }
測(cè)試結(jié)果:
測(cè)試zadd >>> 4
測(cè)試zrangeByScore >>> [星耀, 王者, 榮耀]
測(cè)試zrange >>> [鉆石, 星耀, 王者, 榮耀]
測(cè)試zrevrange >>> [榮耀, 王者, 星耀, 鉆石]
class redis.clients.jedis.BinaryJedis$SetFromList
以上是“基于SpringBoot集成測(cè)試遠(yuǎn)程連接Redis服務(wù)的教程詳解”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!