redis的簡(jiǎn)單使用

在本機(jī)電腦上安裝了redis服務(wù),創(chuàng)建本地連接對(duì)幾個(gè)基本存儲(chǔ)結(jié)構(gòu)做一些簡(jiǎn)單的使用。redis存儲(chǔ)類型包括String、List、Set、Hash和有序集合五種結(jié)構(gòu)方式。

一、安裝redis服務(wù)

本地直接簡(jiǎn)單的安裝了redis服務(wù),在官網(wǎng)去下載對(duì)應(yīng)你的版本,點(diǎn)擊運(yùn)行redis-server.exe,如圖,表示服務(wù)已經(jīng)啟動(dòng)。redis本身不能后臺(tái)自動(dòng)啟動(dòng),需要手動(dòng)啟動(dòng)服務(wù)操作。


1.png

二、測(cè)試連接

1、redis的配置信息

host=127.0.0.1
port=6379
pwd=123456
maxTotal=200
maxIdle=30
minIdle=10
maxWaitMillis=10000

2、獲取配置信息,工具類裝載配置文件

public class PropertiesUtils {

private static Properties properties;

static {
    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    try {
        InputStream is = classLoader.getResourceAsStream("redis.properties");
        properties = new Properties();
        properties.load(is);
    } catch (Exception e) {
        try {
            throw new Exception("獲取參數(shù)出錯(cuò)!", e);
        } catch (Exception e1) {
        }
    }
}

/**
 * 獲取配置文件中value
 */
public static String getProperty(String key) {
    return properties.getProperty(key);
}

}

3、讀取配置文件中的值并初始化連接池連接

private static JedisPool pool;

static {
String host = PropertiesUtils.getProperty("host");
int port = Integer.valueOf(PropertiesUtils.getProperty("port"));//本機(jī)默認(rèn)127.0.0.1

// String password = PropertiesUtils.getProperty("pwd");//redis默認(rèn)無(wú)密碼
JedisPoolConfig config = new JedisPoolConfig();
//最大連接數(shù)
config.setMaxTotal(Integer.valueOf(PropertiesUtils.getProperty("maxTotal")));
//最大空閑連接數(shù)
config.setMaxIdle(Integer.valueOf(PropertiesUtils.getProperty("maxIdle")));
//最小空閑連接數(shù)
config.setMinIdle(Integer.valueOf(PropertiesUtils.getProperty("minIdle")));
//獲取連接時(shí)最大等待的毫秒數(shù)
config.setMaxWaitMillis(Integer.valueOf(PropertiesUtils.getProperty("maxWaitMillis")));
config.setTestOnBorrow(true);
config.setTestOnReturn(true);
config.setTestWhileIdle(true);
config.setTimeBetweenEvictionRunsMillis(30000);
config.setNumTestsPerEvictionRun(10);
config.setMinEvictableIdleTimeMillis(60000);

    pool = new JedisPool(config, host, port);
}

/**
 * 獲取連接
 */
public static Jedis getJedisConnection() {
    Jedis jedis = null;
    try {
        jedis = pool.getResource();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return jedis;
}

4、連接操作,先啟動(dòng)redis服務(wù)

public static void main(String[] args) {
Jedis jedis = JedisPoolUtils.getJedisConnection();
System.out.println("連接成功!" + jedis.ping());

}

控制臺(tái)輸出:連接成功!PONG

此時(shí)可以通過(guò)配置連接redis服務(wù)了。

三、存儲(chǔ)結(jié)構(gòu)的簡(jiǎn)單使用

1、String、List、Set、Hash四種的添加

/**
* List方式添加
* @param jedis
* @param key
* @param list
/
public static void typeOfList(Jedis jedis, String key, List<String> list){
if(list != null && list.size() > 0){
for (String str : list) {
jedis.lpush(key, str);
}
}
}
/
*
* Set方式添加
* @param jedis
* @param key
* @param set
/
public static void typeOfSet(Jedis jedis, String key, Set<String> set){
List<String> list = new ArrayList<String>(set);
if(list != null && list.size() > 0){
for (String str : list) {
jedis.sadd(key, str);
}
}
}
/
*
* 字符串方式添加
* @param jedis
* @param key
* @param value
/
public static void typeOfStr(Jedis jedis, String key, String value){
jedis.set(key, value);
}
/
*
* Hash方式
* @param jedis
* @param key
* @param map
*/
public static void typeOfHash(Jedis jedis, String key, Map<String, String> map){
jedis.hmset(key, map);
}

2、分別對(duì)各種結(jié)構(gòu)進(jìn)行賦值

//string方式
JedisPoolUtils.typeOfStr(jedis, "key1", "value1");

    //set方式
    Set<String> set = new HashSet<String>();
    set.add("s1");
    set.add("s2");
    JedisPoolUtils.typeOfSet(jedis, "set1", set);

    //list方式
    List<String> list = new ArrayList<String>();
    list.add("l1");
    list.add("l2");
    JedisPoolUtils.typeOfList(jedis, "list1", list);

    //hash方式
    Map<String, String> map = new HashMap<String, String>();
    map.put("f1", "h1");
    map.put("f2", "h2");
    map.put("f3", "h3");
    JedisPoolUtils.typeOfHash(jedis, "hash1", map);

3、查看剛才做的存儲(chǔ)的結(jié)果,采用命令行的方式展示,先打開(kāi)命令窗口,如下連接上本機(jī):


2.png

根據(jù)命令獲取對(duì)應(yīng)存儲(chǔ)結(jié)構(gòu)的value值,依次是String、List、Set、Hash四個(gè)的value,如下;


3.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,697評(píng)論 19 139
  • NOSQL類型簡(jiǎn)介鍵值對(duì):會(huì)使用到一個(gè)哈希表,表中有一個(gè)特定的鍵和一個(gè)指針指向特定的數(shù)據(jù),如redis,volde...
    MicoCube閱讀 4,169評(píng)論 2 27
  • 夜景黑色調(diào)/作 雨落芳華春未盡,夜墨花香入門(mén)庭。 春風(fēng)欲醒離人恨,溫情只作無(wú)情深。
    夜景黑色調(diào)閱讀 248評(píng)論 0 2
  • 順順有著萌萌的大眼睛,時(shí)常呆萌,笑起來(lái)又是極燦爛,眉眼彎彎。雖然樣子很溫柔,但是又非常有自己的小主意,現(xiàn)在...
    DaisyYuan閱讀 342評(píng)論 0 0
  • 加油,堅(jiān)持總會(huì)不同的,對(duì)得起自己,不辜負(fù)時(shí)光,認(rèn)認(rèn)真真,做自己,做想做的事,不顧一切,心無(wú)旁騖
    夢(mèng)過(guò)無(wú)痕speechless閱讀 335評(píng)論 0 0

友情鏈接更多精彩內(nèi)容