java redis實戰

系列文章

Redis第一天

Redis第二天

Redis第三天

Redis第四天

Redis第五天

java Redis實戰

​ 很多人,可能看過Redis相關的教程,或者書籍,知道了一些關於Redis的基礎知識,但是也只是瞭解了Redis是什麼,但是並沒有在實際的編寫代碼的過程中使用到Redis,現在就跟隨者我的步伐,進入到Redis實戰中吧。

基礎回顧

Redis的數據類型

​ Redis支持五種數據類型,分別是:String、Hash、List、Set以及Zset

String

​ 是redis中的最基本的數據類,可以理解成和Memcached(一套分佈式的高速緩存系統)一模一樣的類型,一個key對應一個value

​ 是二進制安全的,即可以包含任何數據,比如jpg圖片或者序列化的對象,一個鍵可以最大存儲512MB

set a “b”

get a

Hash

​ Redis hash是一個鍵名對集合,也是一個string類型的field和value的映射表,hash特別適合用於存儲對象

hmset users:1 userage 18 username zhonghu

hgetall user : 1

List

​ Redis的列表是簡單的字符串列表,按照插入順序排列,可以添加一個元素到列表的頭部或尾部

Lpush 插入

Lrange 查看

Set

​ Redis的Set是無序集合,集合是通過哈希表實現的,所以添加、刪除、查找的複雜度都是O(1)

sadd:添加一個String元素到key對應的set集合中,成功返回1已存在返回0 key對應的set不存在返回錯誤

smembers 查看

Zset

​ Redis的Zset是string類型的有序集合,不允許重複的成員,每個元素都會關聯一個double類型的分數

​ zset的成員是唯一的,但是分數(score)卻可以重複

在java中使用redis

引入redis驅動包:

Redis驅動包地址

或者在maven中直接引入

<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

測試服務連接

​ 首先引入jar包:

import redis.clients.jedis.Jedis;

​ 通過ping命脈測試服務狀態

public class RedisTest {
    public static void main(String[] args) {
        // 連接到笨的的redis服務
        Jedis jedis = new Jedis("127.0.0.1");
        System.out.println("連接成功");
        System.out.println("服務器正在運行"+jedis.ping());
    }
}

結果:

存儲數據


import redis.clients.jedis.Jedis;

import java.util.Iterator;
import java.util.List;
import java.util.Set;

public class RedisTest {
    public static void main(String[] args) {
        // 連接到笨的的redis服務
        Jedis jedis = new Jedis("127.0.0.1");
        System.out.println("連接成功");
        System.out.println("服務器正在運行"+jedis.ping());
        // 設置redis 字符串數據
        jedis.set("name","zhonghu");
        System.out.println("redis 存儲的字符串爲:"+jedis.get("name"));
        System.out.println("============================================");
        // 設置redis list數據
        jedis.lpush("list","redis");
        jedis.lpush("list","java");
        jedis.lpush("list","zhonghu");
        // 獲取存儲的數據並輸出
        List<String> list = jedis.lrange("list",0,2);
        for(String i:list){
            System.out.println(i);
        }
        System.out.println("============================================");
        // 設置redis set數據
        jedis.sadd("set","hello");
        jedis.sadd("set","world");
        jedis.sadd("set","zhonghu");
        // 獲取數據並輸出
        Set<String> keys=jedis.smembers("set");
        // 定義迭代器輸出
        Iterator<String> it = keys.iterator();
        while (it.hasNext()){
            System.out.println(it.next());
        }
    }
}

結果

it = keys.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
}
}


結果

![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2lzemhvbmdodS9QaWN0dXJlLWJlZC9tYXN0ZXIvaW1nLzIwMjAwNTEyMTY0NjAxLnBuZw?x-oss-process=image/format,png)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章