日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java redis学习记录

發(fā)布時(shí)間:2023/12/9 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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ò),歡迎將生活随笔推薦給好友。