91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis之Jedis如何使用

發布時間:2022-07-04 14:06:57 來源:億速云 閱讀:217 作者:iii 欄目:關系型數據庫

這篇文章主要講解了“Redis之Jedis如何使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Redis之Jedis如何使用”吧!

Redis之Jedis如何使用

1.Jedis的介紹

Jedis = Java + Redis

Redis不僅可以使用命令來操作,現在基本上主流的語言都有API支持,比如Java、C#、C++、PHP、Node.js、Go等。在官方網站里列一些Java的客戶端,有Jedis、Redisson、Jredis、JDBC-Redis等其中官方推薦使用Jedis和Redisson。

使用Jedis操作redis需要導入jar包如下:

Redis之Jedis如何使用

2.Jedis基本操作

2.1Jedis對象常用API

注:每個方法就是redis中的命令名,方法的參數就是命令的參數

方法

功能

new Jedis(host, port)

創建Jedis的連接,參數:主機名,端口號6379

set(key,value)

添加一個字符串的鍵和值

get(key)

得到指定鍵的值

del(key)

刪除指定鍵和值

hset(key,field,value)

添加一個hash類型的鍵-字段-值

hget(key,field)

通過hash鍵-字段得到它的值

lpush(key,values)

從左邊添加一個list類型的鍵和元素

lpop(key)

從左邊彈出一個元素

rpop(key)

從右邊彈出一個元素

close()

關閉連接

2.2Jedis的基本操作

操作步驟:

創建Jedis對象,指定服務器地址和端口號

向服務器寫入

set字符串類型的數據,person=張三

lpush添加list類型的數據,cities=珠海,深圳,廣州

從服務器中讀取上面的數據打印輸出

get得到字符串的值

lrange得到list所有的列表元素

關閉Jedis對象,釋放資源

通過客戶端查看數據庫中是否有數據

控制臺輸出:

Redis之Jedis如何使用

數據庫中

Redis之Jedis如何使用

代碼:

package com.itheima.jedis;

import redis.clients.jedis.Jedis;

import java.util.List;

/**
 * 使用Jedis向redis中添加string和list,讀取它們的值
 */
public class Demo1 {

    public static void main(String[] args) {
        //創建Jedis連接對象
        Jedis jedis = new Jedis("localhost", 6379);
        //添加string類型
        jedis.set("person", "張三");
        //添加list類型
        jedis.lpush("cities", "廣州","上海","東莞");
        //讀取string類型
        String person = jedis.get("person");
        //讀取list類型
        List<String> cities = jedis.lrange("cities", 0, -1);
        //輸出到控制器上
        System.out.println("person:" + person);
        System.out.println("cities:" + cities);
        //關閉連接對象
        jedis.close();
    }

}

3.Jedis連接池的使用

3.1Jedis連接池的基本概念

Redis之Jedis如何使用

jedis連接資源的創建與銷毀是很消耗程序性能,所以jedis為我們提供了jedis的連接池技術,jedis

連接池在創建時初始化一些連接對象存儲到連接池中,使用jedis連接資源時不需要自己創建jedis對

象,而是從連接池中獲取一個資源進行redis的操作。使用完畢后,不需要銷毀該jedis連接資源,

而是將該資源歸還給連接池,供其他請求使用。

3.2Jedis連接池API

JedisPoolConfig配置類

功能說明

JedisPoolConfig()

創建一個配置對象,使用無參構造方法就可以了

void setMaxTotal()

設置連接池最大的連接數

void setMaxWaitMillis()

設置得到連接對象Jedis最長等待時間

JedisPool連接池類

說明

JedisPool(配置對象,服務器名,端口號)

創建連接池

參數1:上面的配置對象,參數2:服務器名,參數3:6379

Jedis getResource()

從連接池中得到一個Jedis連接對象

void close()

連接池關閉方法,通常不關閉連接池

3.3JedisPool的基本使用

需求:

使用連接池優化jedis操作

開發步驟

創建連接池配置對象,設置最大連接數10,設置用戶最大等待時間2000毫秒

通過配置對象做為參數,創建連接池對象

從連接池里面獲取jedis連接對象,執行redis命令。

執行redis命令sadd寫入set集合類型的數據:students=白骨精,孫悟空,豬八戒

執行redis命令smembers讀取集合中的數據

輸出讀取的數據

關閉連接對象(通常連接池不關閉)

運行效果

Redis之Jedis如何使用

執行代碼

package com.itheima.jedis;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.util.Set;

/**
 * 創建Jedis連接池
 */
public class Demo2 {

    public static void main(String[] args) {
        //1)	創建連接池配置對象,設置最大連接數10,設置用戶最大等待時間2000毫秒
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(10);
        config.setMaxWaitMillis(2000);
        //2)	通過配置對象做為參數,創建連接池對象
        JedisPool pool = new JedisPool(config, "localhost", 6379);
        //3)	從連接池里面獲取jedis連接對象,執行redis命令。
        Jedis jedis = pool.getResource();
        //4)	執行redis命令sadd寫入set集合類型的數據:students=白骨精,孫悟空,豬八戒
        jedis.sadd("students", "白骨精", "孫悟空", "豬八戒");
        //5)	執行redis命令smembers讀取集合中的數據
        Set<String> students = jedis.smembers("students");
        //6)	輸出讀取的數據
        System.out.println(students);
        //7)	關閉連接對象(通常連接池不關閉)
        jedis.close();
        pool.close();
    }
}

4.案例:編寫jedis連接池工具類

4.1相應API的學習

java.util.ResourceBundle類是專門用于:讀取類路徑下Properties配置文件的類

java.util.ResourceBundle類

功能

static ResourceBundle getBundle("配置基名")

通過自己的靜態方法創建ResourceBundle對象

參數:放在src下.properties文件。參數中不用寫擴展名,只要有主名就可以了

String getString("鍵名")

通過鍵得到值

案例:得到druid.properties中的url屬性

package com.itheima.jedis;

import java.util.ResourceBundle;

/**
 * 讀取屬性文件
 */
public class Demo3 {

    public static void main(String[] args) {
        //得到資源綁定對象
        ResourceBundle bundle = ResourceBundle.getBundle("druid");
        System.out.println(bundle.getString("url"));
    }

}

4.2連接池工具類的實現

需求:

實現連接池工具類,通過工具類得到Jedis連接對象,配置參數寫在屬性文件中

調用工具類,對Redis數據庫進行操作

執行效果:

Redis之Jedis如何使用

實現步驟:

在src目錄下創建連接池的工具類: jedis.properties

創建靜態成員變量JedisPool對象

在靜態代碼塊中,讀取src下的配置文件,得到ResourceBundle對象

得到上面的四個參數,其中host是字符串類型,其它參數要轉成整數類型

實例化配置對象,實例化連接池對象

編寫靜態方法getJedis()返回Jedis對象

創建hash對象:鍵employee,添加字段名:name,值:NewBoy;字段名: salary,值:3000

使用hgetall讀取hash對象輸出

關閉jedis對象

jedis.properties配置文件

# 主機名
host=localhost
# 端口號
port=6379
# 最大連接數
maxTotal=20
# 最長等待時間
maxWaitMillis=3000

JedisUtils.java

package com.itheima.utils;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.util.ResourceBundle;

/**
 * 連接池工具類
 */
public class JedisUtils {

    //創建一個連接對象
    private static JedisPool pool;

    static {
        //創建連接池的配置對象
        JedisPoolConfig config = new JedisPoolConfig();
        //設置最大連接數和最長等待時間
        ResourceBundle bundle = ResourceBundle.getBundle("jedis");
        //得到配置文件中的屬性值
        String host = bundle.getString("host");
        int port = Integer.parseInt(bundle.getString("port"));
        int maxTotal = Integer.parseInt(bundle.getString("maxTotal"));
        int maxWaitMillis = Integer.parseInt(bundle.getString("maxWaitMillis"));
        //設置配置對象的參數
        config.setMaxTotal(maxTotal);
        config.setMaxWaitMillis(maxWaitMillis);
        //創建連接池對象
        pool = new JedisPool(config, host, port);
    }

    /**
     * 得到redis連接對象
     * @return
     */
    public static Jedis getJedis() {
        return pool.getResource();
    }

}

使用工具類:

package com.itheima.jedis;

import com.itheima.utils.JedisUtils;
import redis.clients.jedis.Jedis;

import java.util.Map;

/**
 * 使用工具類
 */
public class Demo4 {

    public static void main(String[] args) {
        //從工具類中得到Jedis對象
        Jedis jedis = JedisUtils.getJedis();
        //創建hash對象:鍵employee,添加字段名:name,值:NewBoy;字段名: salary,值:3000
        jedis.hset("employee", "name","NewBoy");
        jedis.hset("employee", "salary","3000");
        //使用hgetall讀取hash對象輸出
        Map<String, String> employee = jedis.hgetAll("employee");
        System.out.println(employee);
        //關閉jedis對象
        jedis.close();
    }

}

感謝各位的閱讀,以上就是“Redis之Jedis如何使用”的內容了,經過本文的學習后,相信大家對Redis之Jedis如何使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岐山县| 兴隆县| 西乌| 荥经县| 哈巴河县| 建湖县| 盖州市| 泰州市| 阿城市| 太谷县| 察雅县| 桃源县| 建昌县| 若羌县| 炎陵县| 昌图县| 罗定市| 林西县| 仁化县| 西贡区| 丰县| 恩施市| 宁武县| 舞钢市| 吐鲁番市| 法库县| 广丰县| 宜章县| 梅州市| 南溪县| 青铜峡市| 汽车| 酒泉市| 溆浦县| 长岭县| 宿州市| 山西省| 尖扎县| 始兴县| 新河县| 广元市|