1. 程式人生 > >Redis連線池配置以及存取資料

Redis連線池配置以及存取資料

配置連線池:

package demo;

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

public class RedisUtils {  

     //Redis伺服器IP  
     private static String ADDR = "127.0.0.1";  
      //Redis的埠號  
     private static int PORT = 6379;  
     //可用連線例項的最大數目,預設值為8;  
//如果賦值為-1,則表示不限制;如果pool已經分配了maxActive個jedis例項,則此時pool的狀態為exhausted(耗盡)。 private static int MAX_ACTIVE = 1024; //控制一個pool最多有多少個狀態為idle(空閒的)的jedis例項,預設值也是8。 private static int MAX_IDLE = 200; //等待可用連線的最大時間,單位毫秒,預設值為-1,表示永不超時。如果超過等待時間,則直接丟擲JedisConnectionException; private
static int MAX_WAIT = 10000; //在borrow一個jedis例項時,是否提前進行validate操作;如果為true,則得到的jedis例項均是可用的; private static boolean TEST_ON_BORROW = true; private static JedisPool jedisPool = null; /** * 初始化Redis連線池 */ static { try { JedisPoolConfig config = new
JedisPoolConfig(); config.setMaxTotal(MAX_ACTIVE); config.setMaxIdle(MAX_IDLE); config.setMaxWaitMillis(MAX_WAIT); config.setTestOnBorrow(TEST_ON_BORROW); jedisPool = new JedisPool(config, ADDR, PORT); } catch (Exception e) { e.printStackTrace(); } } /** * 獲取Jedis例項 * @return */ public synchronized static Jedis getJedis() { try { if (jedisPool != null) { Jedis resource = jedisPool.getResource(); return resource; } else { return null; } } catch (Exception e) { e.printStackTrace(); return null; } } /** * 釋放jedis資源 * @param jedis */ public static void returnResource(final Jedis jedis) { if (jedis != null) { jedisPool.returnResourceObject(jedis); } } }

讀取資料工具類:

package demo;

import java.util.ArrayList;
import java.util.List;

import com.alibaba.fastjson.JSON;

import redis.clients.jedis.Jedis;

public class ReidsUriTest {

    //存list
    public void saveList(List<Object> list) {
        Jedis jedis = null;
        jedis = RedisUtils.getJedis();
        int size = list.size();
        if (size > 0) {
            for (int i = 0; i < size; i++) {
                Object obj = list.get(i);
                String objData = JSON.toJSONString(obj);
                jedis.rpush("article", objData);
            }
        }

    }
//讀取list
    public List<String> getList(String key) {
        Jedis jedis = null;
        jedis = RedisUtils.getJedis();
        List<String> list = jedis.lrange(key, 0, -1);
        return list;

    }
    //測試
    public static void main(String[] args) {
        ReidsUriTest r = new ReidsUriTest();
        List<Object> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            Article a = new Article();
            a.setId("id-" + i);
            a.setTitle("title-" + i);
            list.add(a);
        }
        r.saveList(list);

        System.out.println("------------");
        List<String> l = r.getList("article");

    }

}

Article自行編寫。

相關推薦

Redis連線配置以及存取資料

配置連線池: package demo; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool;

java專案使用redis / 連線配置

1. pom                   <dependency>     <groupId>

spring Boot redis連線配置,Spring Session配置

1.POM配置 <!-- redis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifac

tomcat-dbcp資料庫連線配置以及使用時候的一些坑

一、資料庫連線池 開發的時候經常會需要對資料庫進行一些操作,比如說常見的增刪改查之類的,當資料量小的時候,可以直接進行操作,但是當資料量增多的時候,每一次連線以及釋放資料庫都會耗費一定的時間,這個時候,可以採用資料庫連線池來保持資料庫的連結,減少連線資料庫對程式帶來的開銷,

spring feign http客戶端連線配置以及spring zuul http客戶端連線配置解析

背景 一般在生產專案中, Feign會使用HTTP連線池而不是預設的Java原生HTTP單路由單長連線;而是使用連線池。Zuul直接使用Ribbon的Http連線池;Feign和閘道器Zuul的RPC呼叫,實際上都是HTTP請求。HTTP請求,如果不配置好HT

spring中redis連線版單節點使用(xml配置及非xml配置

1.依賴 <!--引入reids--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId

SpringBoot配置Redis連線

首先是redis各個引數的配置,在 application-dev.properties中配置如下: #redis配置 redis.server.host=192.168.50.162 redis.se

Tomcat連線以及 Webservice配置以及log4j日誌輸出

用java寫的webservice,建立資料庫連線的時候,因為webservice介面要供很多使用者使用,這時如果把資料庫連線語句寫在使用者呼叫的我方的方法裡面,在方法裡面用完再關閉,也可以。但是用tomcat連線池,一開始就申請25個連線放著,最多50個(這個25和50都

redis提示Could not get a resource from the pool(jedis連線配置

起初在JedisPool中配置了50個活動連線,但是程式還是經常報錯:Could not get a resource from the pool 連線池剛開始是這樣配置的: JedisPoolConfig config = new JedisPoolConfig(

golang中redis連線

package main import ( "github.com/garyburd/redigo/redis" "fmt" ) var pool *redis.Pool func init() { pool = &redis.Pool{ MaxIdle:16,

4、Redis連線的構建與測試

首先我們在我們的專案中新建一個 RedisPool類 程式碼如下: package com.mmall.common; import com.mmall.util.PropertiesUtil; import redis.clients.jedis.Jedis; import re

weblogic伺服器連線配置細節

進入某個連線池配置頁,進入“連線“頁,點選高階選項的”show“顯示高階選項。 指定 "測試頻率" 並啟用 "測試保留的連線"、"測試建立的連線" 和 "測試釋放的連線"。   測試頻率(Test Frequency):  

Redis連線

當需要很多連線的時候,一般都是通過使用連線池獲取連線,首先我們先自定義一個簡單(沒考慮高併發等複雜情況)的連線池,及進行相應設定 package com.redis.test;import redis.clients.jedis.Jedis;import redis.clients.jedis.J

DBCP連線配置

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdb

使用資料庫連線配置資料來源

Tomcat伺服器的context.xml檔案中Context元素下增加Resource元素 oracle <Resource name="jdbc/hrs" auth="Container" type="javax.sql.DataSource" maxActive="100" ma

Druid連線-配置_DruidDataSource參考配置

【更多參考】https://www.cnblogs.com/niejunlei/p/5977895.html 配置_DruidDataSource參考配置 以下是一個參考的連線池配置: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Java Redis(三):建立Redis連線

Redis 連線池 public class RedisPool { private static JedisPool pool;//jedis連線池 private static Integer maxTotal = ; //最大連線數 private st

1112_maven專案使用Druid連線配置步驟和注意事項[mysql資料庫]

maven專案使用Druid連線池配置步驟和注意事項[mysql資料庫] 2018年06月13日 17:09:25 個人分類: java 注:這兩天搭建專案時,使用Druid連線池入了不少坑;以此記錄; MySQL Server 5.7.21 + mysql-connector-j

Java的Redis連線程式碼

其實這個是引用自網友http://blog.csdn.net/tuposky/article/details/45340183,有2個版本,差別就是ReentrantLock和synchronized。另外原作者使用了斷言,我覺得這個還是不用為好。 ReentrantLock版 import

阿里Druid資料庫連線配置解釋

#阿里資料庫連線池Druid配置 # 初始化連線大小 spring.datasource.druid.initial-size=20 # 最小空閒連線數 spring.datasource.druid.minIdle=20 # 最大連線數 spring.datasource.druid.maxAct