生活随笔
收集整理的這篇文章主要介紹了
java redis学习记录
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.下載 ??鏈接:https://pan.baidu.com/s/1cgsPYD8KL25-eeBfRgBQGw 密碼:a8uq
2.解壓下載的壓縮文件
3.啟動(dòng)
打開(kāi)cmd窗口,切換目錄到redis,執(zhí)行redis-server.exe redis.windows.conf
4.測(cè)試
另打開(kāi)一個(gè)cmd窗口,原來(lái)的不要關(guān)閉,不然就無(wú)法訪(fǎng)問(wèn)服務(wù)端了,切換目錄到redis
連接服務(wù) ?redis-cli.exe -h 127.0.0.1 -p 6379
設(shè)置鍵值對(duì) set myKey abc
取出鍵值對(duì) get myKey
推出 ?quit
5.退出
在3中的cmd窗口,ctrl+c退出
6.Java使用redis
jar包
package test;import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;
import redis.clients.jedis.SortingParams;public class RedisTest {private Jedis jedis;//非切片額客戶(hù)端連接private JedisPool jedisPool;//非切片連接池private ShardedJedis shardedJedis;//切片額客戶(hù)端連接private ShardedJedisPool shardedJedisPool;//切片連接池public RedisTest() { initialPool(); initialShardedPool(); shardedJedis = shardedJedisPool.getResource(); jedis = jedisPool.getResource(); } /*** 初始化非切片池*/private void initialPool() { // 池基本配置 JedisPoolConfig config = new JedisPoolConfig(); //config.setMaxActive(20); 舊版本config.setMaxTotal(20);config.setMaxIdle(5); //config.setMaxWait(1000l); 舊版本config.setMaxWaitMillis(1000l);config.setTestOnBorrow(false); jedisPool = new JedisPool(config,"127.0.0.1",6379);}/** * 初始化切片池 */ private void initialShardedPool() { // 池基本配置 JedisPoolConfig config = new JedisPoolConfig(); //config.setMaxActive(20); 舊版本config.setMaxTotal(20);config.setMaxIdle(5); //config.setMaxWait(1000l); 舊版本config.setMaxWaitMillis(1000l);config.setTestOnBorrow(false); // slave鏈接 List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>(); shards.add(new JedisShardInfo("127.0.0.1", 6379, "master")); // 構(gòu)造池 shardedJedisPool = new ShardedJedisPool(config, shards); }public void show() { KeyOperate(); StringOperate(); ListOperate(); SetOperate();SortedSetOperate();HashOperate(); //jedisPool.returnResource(jedis);//shardedJedisPool.returnResource(shardedJedis);}
}
初始化redis,這里有2個(gè)小問(wèn)題
config.setMaxActive(20);
config.setMaxWait(1000l);?
這兩句在Jedis版本較高的JedisPoolConfig中沒(méi)有setMaxActive和setMaxWait屬性了,這是因?yàn)楦甙姹局泄俜綇U棄了此方法,用以下兩個(gè)屬性替換。
maxActive ==> maxTotal
maxWait ==> maxWaitMillis
//jedisPool.returnResource(jedis);
//shardedJedisPool.returnResource(shardedJedis);
returnResource在高版本遭廢棄,使用close
加下來(lái)簡(jiǎn)單測(cè)試
private void KeyOperate() { System.out.println("======================key=========================="); // 清空數(shù)據(jù) System.out.println("清空庫(kù)中所有數(shù)據(jù):"+jedis.flushDB());// 判斷key否存在 System.out.println("判斷key999鍵是否存在:"+shardedJedis.exists("key999")); System.out.println("新增key001,value001鍵值對(duì):"+shardedJedis.set("key001", "value001")); System.out.println("判斷key001是否存在:"+shardedJedis.exists("key001"));// 輸出系統(tǒng)中所有的keySystem.out.println("新增key002,value002鍵值對(duì):"+shardedJedis.set("key002", "value002"));System.out.println("系統(tǒng)中所有鍵如下:");Set<String> keys = jedis.keys("*"); Iterator<String> it=keys.iterator() ; while(it.hasNext()){ String key = it.next(); System.out.println(key); }// 刪除某個(gè)key,若key不存在,則忽略該命令。System.out.println("系統(tǒng)中刪除key002: "+jedis.del("key002"));System.out.println("判斷key002是否存在:"+shardedJedis.exists("key002"));// 設(shè)置 key001的過(guò)期時(shí)間System.out.println("設(shè)置 key001的過(guò)期時(shí)間為5秒:"+jedis.expire("key001", 5));try{ Thread.sleep(2000); } catch (InterruptedException e){ } // 查看某個(gè)key的剩余生存時(shí)間,單位【秒】.永久生存或者不存在的都返回-1System.out.println("查看key001的剩余生存時(shí)間:"+jedis.ttl("key001"));// 移除某個(gè)key的生存時(shí)間System.out.println("移除key001的生存時(shí)間:"+jedis.persist("key001"));System.out.println("查看key001的剩余生存時(shí)間:"+jedis.ttl("key001"));// 查看key所儲(chǔ)存的值的類(lèi)型System.out.println("查看key所儲(chǔ)存的值的類(lèi)型:"+jedis.type("key001"));/** 一些其他方法:1、修改鍵名:jedis.rename("key6", "key0");* 2、將當(dāng)前db的key移動(dòng)到給定的db當(dāng)中:jedis.move("foo", 1)*/}
public static void main(String[] args) {RedisTest redis = new RedisTest();redis.KeyOperate();redis.jedis.close();redis.shardedJedis.close();}使用完注意close
參考:https://www.cnblogs.com/edisonfeng/p/3571870.html
https://blog.csdn.net/sukexiaozi/article/details/52022449
https://blog.csdn.net/eff666/article/details/52998890
總結(jié)
以上是生活随笔為你收集整理的java redis学习记录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。