前期準備
Linux虛擬機或者租用的云服務器:sudo安裝redis,或者docker加載redis鏡像,后者需要使用docker啟用redis容器,
配置好redis.conf檔案,注意:一定要注釋
# bind 127.0.0.1其他詳細配置可參考我另一篇文章,不過能想到集成測驗redis,組態檔應該已經配置好了,
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT開放6379埠
初始化SpringBoot專案
- 使用Spring Initializr 初始化一個SpringBoot專案,可以勾選NoSQL下這兩項,或者后面自行添加pom依賴,(當然也可以初始化一個maven專案來測驗)

-
添加jedis依賴
<!--匯入jedis依賴--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</version> </dependency> -
撰寫簡易的單元測驗程式
可使用
ifconfig或者ip addr查詢服務器的ip地址/** * host: 虛擬機或遠程服務器的ip地址 * port: redis.conf中配置的服務埠號 */ @Test void TestPing() { Jedis jedis = new Jedis("192.168.137.132",6379); System.out.println("TestPing >>>>>>>>>>>>> "+jedis.ping()); }測驗結果:

測驗五大基本資料型別
測驗程序中,有些資料防止重復插入,部分測驗用例使用了
del命令,
-
五大基本資料型別:字串,串列,哈希,集合,有序集合
-
每次單元測驗都需進行遠程連接,故做以下處理:
@SpringBootTest class JedisDemoApplicationTests { // 此處配置連接 Jedis jedis = new Jedis("192.168.137.132",6379); @Test void contextLoads() { } // 此處進行單元測驗 }
Key鍵
測驗用例:
@Test
void KeyTest() {
System.out.println(jedis.keys("*"));
System.out.println(jedis.keys("*").getClass());
}
測驗結果:
[list01, customer, set01, username]
class java.util.HashSet
String字串
測驗用例:
@Test
void StringTest() {
System.out.println("測驗set >>> "+jedis.set("name", "kris"));
System.out.println("測驗get >>> "+jedis.get("name"));
System.out.println(jedis.get("name").getClass());
System.out.println("\n測驗append >>> "+jedis.append("name", " ^v^"));
System.out.println("測驗strlen >>> "+jedis.strlen("name"));
System.out.println("測驗get >>> "+jedis.get("name"));
System.out.println("\n測驗mset >>> "+jedis.mset(
"username", "kris",
"age", "18",
"sex","男"));
System.out.println("測驗mget >>> "+jedis.mget("username", "age", "sex"));
System.out.println("\n測驗incr >>> "+jedis.incr("age"));
System.out.println("測驗incrBy >>> "+jedis.incrBy("age",3));
System.out.println("測驗decr >>> "+jedis.decr("age"));
System.out.println("測驗decrBy >>> "+jedis.decrBy("age", 3));
}
測驗結果:
測驗set >>> OK
測驗get >>> kris
class java.lang.String
測驗append >>> 8
測驗strlen >>> 8
測驗get >>> kris ^v^
測驗mset >>> OK
測驗mget >>> [kris, 18, 男]
測驗incr >>> 19
測驗incrBy >>> 22
測驗decr >>> 21
測驗decrBy >>> 18
List串列
測驗用例:
@Test
void ListTest() {
System.out.println("測驗rpush >>> "+jedis.rpush("list01", "I", "love", "redis", "!"));
System.out.println("測驗lpush >>> "+jedis.lpush("list01", "hello"));
System.out.println("測驗lrange >>> "+jedis.lrange("list01", 0, -1));
System.out.println(jedis.lrange("list01", 0, -1).getClass());
System.out.println("\n測驗lpop >>> "+jedis.lpop("list01"));
System.out.println("測驗rpop >>> "+jedis.rpop("list01"));
System.out.println("測驗lrange >>> "+jedis.lrange("list01", 0, -1));
System.out.println("\n測驗lset >>> "+jedis.lset("list01", 0, "We"));
System.out.println("測驗lrange >>> "+jedis.lrange("list01", 0, -1));
System.out.println("\n測驗 linsert >>> "+jedis.linsert("list01", ListPosition.AFTER,
"redis", "!"));
System.out.println("測驗lrange >>> "+jedis.lrange("list01", 0, -1));
jedis.del("list01");
}
測驗結果:
測驗rpush >>> 4
測驗lpush >>> 5
測驗lrange >>> [hello, I, love, redis, !]
class java.util.ArrayList
測驗lpop >>> hello
測驗rpop >>> !
測驗lrange >>> [I, love, redis]
測驗lset >>> OK
測驗lrange >>> [We, love, redis]
測驗 linsert >>> 4
測驗lrange >>> [We, love, redis, !]
Hash哈希
測驗用例:
@Test
void HashTest() {
Map<String, String> customer = new HashMap<>();
customer.put("username", "kris");
customer.put("password", "123456");
customer.put("email", "[email protected]");
System.out.println("測驗hset >>> "+jedis.hset("customer", customer));
System.out.println("測驗hget >>> "+jedis.hget("customer", "email"));
System.out.println("測驗getAll >>> "+jedis.hgetAll("customer"));
System.out.println(jedis.hgetAll("customer").getClass());
}
測驗結果:
測驗hset >>> 0
測驗hget >>> [email protected]
測驗getAll >>> {name=kris, [email protected], password=123456, username=kris}
class java.util.HashMap
Set集合
測驗用例:
@Test
void SetTest() {
System.out.println("測驗sadd >>> "+jedis.sadd("names", "louis", "kris", "Jerry", "Jackson"));
System.out.println("測驗smembers >>> "+jedis.smembers("names"));
System.out.println("測驗scard >>> "+jedis.scard("names"));
System.out.println(jedis.smembers("names").getClass());
System.out.println("\n測驗srandmember >>> "+jedis.srandmember("names", 3));
System.out.println("測驗srandmember >>> "+jedis.srandmember("names", 3));
System.out.println("\n測驗spop >>> "+jedis.spop("names", 2));
System.out.println("測驗smembers >>> "+jedis.smembers("names"));
System.out.println("\n測驗sadd >>> "+jedis.sadd("names0", "Jack", "louis", "kris"));
System.out.println("測驗sunion >>> "+jedis.sunion("names", "names0"));
System.out.println("測驗sdiff >>> "+jedis.sdiff("names", "names0"));
System.out.println("測驗sinter >>> "+jedis.sinter("names", "names0"));
System.out.println("測驗smembers >>> "+jedis.smembers("names"));
System.out.println("測驗smembers >>> "+jedis.smembers("names0"));
jedis.del("names", "names0");
}
測驗結果:
測驗sadd >>> 4
測驗smembers >>> [kris, Jerry, Jackson, louis]
測驗scard >>> 4
class redis.clients.jedis.BinaryJedis$SetFromList
測驗srandmember >>> [kris, Jerry, Jackson]
測驗srandmember >>> [Jerry, louis, Jackson]
測驗spop >>> [Jerry, kris]
測驗smembers >>> [Jackson, louis]
測驗sadd >>> 3
測驗sunion >>> [Jack, kris, louis, Jackson]
測驗sdiff >>> [Jackson]
測驗sinter >>> [louis]
測驗smembers >>> [Jackson, louis]
測驗smembers >>> [kris, Jack, louis]
ZSet有序集合
測驗用例:
@Test
void SortSetTest() {
Map<String, Double> score = new HashMap<>();
score.put("鉆石", 1000.0);
score.put("王者", 2000.0); // 無序
score.put("星耀", 1500.0);
score.put("榮耀", 2500.0);
System.out.println("測驗zadd >>> "+jedis.zadd("score", score));
System.out.println("測驗zrangeByScore >>> "+jedis.zrangeByScore("score", 1500,2500));
System.out.println("測驗zrange >>> "+jedis.zrange("score", 0,-1));
System.out.println("測驗zrevrange >>> "+jedis.zrevrange("score", 0,-1));
System.out.println(jedis.smembers("names").getClass());
jedis.del("score");
}
測驗結果:
測驗zadd >>> 4
測驗zrangeByScore >>> [星耀, 王者, 榮耀]
測驗zrange >>> [鉆石, 星耀, 王者, 榮耀]
測驗zrevrange >>> [榮耀, 王者, 星耀, 鉆石]
class redis.clients.jedis.BinaryJedis$SetFromList
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/16456.html
標籤:NoSQL
上一篇:Redis組態檔詳解
