




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、NOSQL數(shù)據(jù)庫-Redis學(xué)習(xí)目標(biāo):能夠理解nosql的概念能夠說出redis的常用數(shù)據(jù)類型能夠使用redis的string操作命令能夠使用redis的hash操作命令能夠使用redis的list操作命令能夠使用redis的set操作命令能夠說出redis的兩種持久化機(jī)制能夠使用jedis對redis進(jìn)行操作第1章 NOSQL概述1.1NOSQLNoSQL(NoSQL = Not Only SQL),意即“不僅僅是SQL”,是一項全新的數(shù)據(jù)庫理念,泛指非關(guān)系型的數(shù)據(jù)庫。1.2 為什么需要NOSQL隨著互聯(lián)網(wǎng)的高速崛起,的用戶群的增加,量的上升,傳統(tǒng)數(shù)據(jù)庫上都開始出現(xiàn)了性能瓶頸,web程序不再
2、僅僅專注在功能上,同時也在追求性能。所以NOSQL數(shù)據(jù)庫應(yīng)運而上,具體表現(xiàn)為對如下三高問題的解決:High performance - 對數(shù)據(jù)庫高并發(fā)讀寫的需求web2.0要根據(jù)用戶個性化信息來實時生成動態(tài)頁面和提供動態(tài)信息,所以基本上無法使用動態(tài)頁面靜態(tài)化技術(shù),因此數(shù)據(jù)庫并發(fā)負(fù)載非常高,往往要達(dá)到每秒上萬次讀寫請求。關(guān)系數(shù)據(jù)庫應(yīng)付上萬次SQL查詢還勉強(qiáng)頂?shù)米。菓?yīng)付上萬次SQL寫數(shù)據(jù)請求,硬盤IO就已經(jīng)無法承受了。其實對于普通的在對高并發(fā)寫請求的需求,例如此這是一個相當(dāng)普遍的需求。的實時統(tǒng)計用戶狀態(tài),熱門帖子的點擊次數(shù),投票計數(shù)等,因Huge Storage - 對海量數(shù)據(jù)的高效率和的需求
3、類似,F(xiàn)riendfeed這樣的SNS,每天用戶產(chǎn)生海量的用戶動態(tài),以Friendfeed為例,一個月就達(dá)到了2.5億條用戶動態(tài),對于關(guān)系數(shù)據(jù)庫來說,在一張2.5億條的表里面進(jìn)行SQL查詢,效率是極其低下乃至不可忍受的。再例如大型web系數(shù)據(jù)庫也很難應(yīng)付。的用戶登錄系統(tǒng),例如騰訊,盛大,動輒數(shù)以億計的帳號,關(guān)High Scalability & High Availability- 對數(shù)據(jù)庫的高可擴(kuò)展性和高可用在基于web的架構(gòu)當(dāng)中,數(shù)據(jù)庫是最難進(jìn)行橫向擴(kuò)展的,當(dāng)一個應(yīng)用系統(tǒng)的用戶量和量與日俱增的時候,你的數(shù)據(jù)庫卻沒有辦法像web server和app server那樣簡單的通過添加的硬件和服
4、務(wù)節(jié)點來擴(kuò)展性能和負(fù)載能力。對于很多需要提供24小時不間斷服務(wù)的來說,對數(shù)據(jù)庫系統(tǒng)進(jìn)行升級和擴(kuò)展是非常痛苦的事情,往往需要停機(jī)和數(shù)據(jù)遷移,為什么數(shù)據(jù)庫不能通過不斷的添加服務(wù)器節(jié)點來實現(xiàn)擴(kuò)展呢?1.3 主流的NOSQL產(chǎn)品鍵值(Key-Value)數(shù)據(jù)庫相關(guān)產(chǎn)品: Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB典型應(yīng)用: 內(nèi)容緩存,主要用于處理大量數(shù)據(jù)的高數(shù)據(jù)模型: 一系列鍵值對優(yōu)勢: 快速查詢負(fù)載。劣勢:列的數(shù)據(jù)缺少結(jié)構(gòu)化數(shù)據(jù)庫相關(guān)產(chǎn)品:Cassandra, HBase, Riak典型應(yīng)用:分布式的文件系統(tǒng)數(shù)據(jù)模型:以列簇式,將同一列數(shù)據(jù)存在一
5、起優(yōu)勢:查找速度快,可擴(kuò)展性強(qiáng),更容易進(jìn)行分布式擴(kuò)展劣勢:功能相對局限文檔型數(shù)據(jù)庫相關(guān)產(chǎn)品:CouchDB、MongoDB典型應(yīng)用:Web應(yīng)用(與Key-Value類似,Value是結(jié)構(gòu)化的)數(shù)據(jù)模型: 一系列鍵值對優(yōu)勢:數(shù)據(jù)結(jié)構(gòu)要求不嚴(yán)格劣勢: 查詢性能不高,而且缺乏圖形(Graph)數(shù)據(jù)庫的查詢語法相關(guān)數(shù)據(jù)庫:Neo4J、InfoGrid、Innite Graph典型應(yīng)用:社交網(wǎng)絡(luò)數(shù)據(jù)模型:圖結(jié)構(gòu)優(yōu)勢:利用圖結(jié)構(gòu)相關(guān)算法。劣勢:需要對整個圖做計算才能得出結(jié)果,不容易做分布式的集群方案。1.4 NOSQL的特點在大數(shù)據(jù)存取上具備關(guān)系型數(shù)據(jù)庫無法比擬的性能優(yōu)勢,例如:易擴(kuò)展NoSQL數(shù)據(jù)庫種類
6、繁多,但是一個共同的特點都是去掉關(guān)系數(shù)據(jù)庫的關(guān)系型特性。數(shù)據(jù)之間無關(guān)系,這樣就非常容易擴(kuò)展。也無形之間,在架構(gòu)的層面上帶來了可擴(kuò)展的能力。大數(shù)據(jù)量,高性能NoSQL數(shù)據(jù)庫都具有非常高的讀寫性能,尤其在大數(shù)據(jù)量下,同樣表現(xiàn)優(yōu)秀。這得益于它的無關(guān)系性,數(shù)據(jù)庫的結(jié)構(gòu)簡單。靈活的數(shù)據(jù)模型NoSQL無需事先為要的數(shù)據(jù)建立字段,隨時可以自定義的數(shù)據(jù)格式。而在關(guān)系數(shù)據(jù)庫里,增刪字段是一件非常麻煩的事情。如果是非常大數(shù)據(jù)量的表,增加字段簡直就是一個噩夢。這點在大數(shù)據(jù)量的Web2.0時代尤其明顯。高可用NoSQL在不太影響性能的情況,就可以方便的實現(xiàn)高可用的架構(gòu)。比如Cassandra,HBase模型,通過模型
7、也能實現(xiàn)高可用。第2章 Redis概述2.1RedisRedis是用C語言開發(fā)的一個開源的高性能鍵值對(key-value)數(shù)據(jù)庫,提供測試數(shù)據(jù),50個并發(fā)執(zhí)行100000個請求,讀的速度是110000次/s,寫的速度是81000次/s ,且Redis通過提供多種鍵值數(shù)據(jù)類型來適應(yīng)不同場景下的存儲需求,目前為止Redis支持的鍵值數(shù)據(jù)類型如下:字符串類型 string散列類型 hash列表類型 list集合類型 set有序集合類型 sortedset2.2 redis的應(yīng)用場景緩存(數(shù)據(jù)查詢、短連接、內(nèi)容、商品內(nèi)容等等)聊天室的好友列表任務(wù)隊列。(秒殺、搶購、12306等等)應(yīng)用榜 統(tǒng)計數(shù)據(jù)過
8、期處理(可以精確到毫秒分布式集群架構(gòu)中的ses分離第3章 window版Redis的安裝與使用3.1 windows版Redis的提倡使用Linux版的Redis,所以官網(wǎng)值提供了Linux版的Redis,可以從上window版的Redis,具體官網(wǎng)地址如下:地址:地址:/MSOpenTech/redis/tags在今天的課程資料中提供的!完畢的window版本的Redis:3.2 window版Redis的目錄結(jié)構(gòu)解壓Redis壓縮包后,見到如下目錄機(jī)構(gòu):3.3 window版Redis的安裝與啟動3.3.1 window版Redis的安裝目錄或文件作用redis-benark性能測試工具r
9、edis-check-aofAOF文件修復(fù)工具redis-check-dumpRDB文件檢查工具(快照持久化文件)redis-cli命令行客戶端redis-serverredis服務(wù)器啟動命令redis.windows.confredis配置文件window版的安裝及其簡單,解壓Redis壓縮包完成即安裝完畢3.3.2 window版Redis的啟動與關(guān)閉雙擊Redis目錄中redis-server.exe可以啟動redis服務(wù),Redis服務(wù)占用的端口是6379關(guān)閉Redis的控制臺窗口就可以關(guān)閉Redis服務(wù)3.4 window版Redis的使用雙擊Redis目錄中redis-cxe可以啟
10、動redis客戶端3.5 Windows服務(wù)安裝windows服務(wù): redis-server.exe -service-install redis.windows.conf -loglevel ver卸載windows服務(wù): redis-server -service-uninstall第4章 Redis的數(shù)據(jù)類型e4.1 Redis的5種數(shù)據(jù)類型redis是一種高級的key-value的系統(tǒng),其中value支持五種數(shù)據(jù)類型:字符串(String)哈希(hash)字符串列表(list)字符串集合(set)有序字符串集合(sorted set)關(guān)于key的定義,注意如下幾點:key不要太長,最
11、好不要操作1024個字節(jié),這不僅會消耗內(nèi)存還會降低查找效率 key不要太短,如果太短會降低key的可讀性在項目中,key最好有一個4.2 字符串類型string名規(guī)范4.2.1 字符串類型string概述字符串類型是Redis中最為基礎(chǔ)的數(shù)據(jù)類型,它在Redis中是二進(jìn)制安全的,這便意味著該類型存入和獲取的數(shù)據(jù)相同。在Redis中字符串類型的Value最多可以容納的數(shù)據(jù)長度是512M。4.2.2 字符串類型string常用命令set key value設(shè)定key持有指定的字符串value,如果該key存在則進(jìn)行覆蓋操作。總是返回”O(jiān)K”127.0.0.1:6379 set company OK
12、127.0.0.1:6379get key獲取key的value。如果與該key關(guān)聯(lián)的value不是String類型,redis將返回錯誤信息,因為get命令只能用于獲取String value;如果該key不存在,返回(nil)。127.0.0.1:6379 set name OK127.0.0.1:6379 get namedel key刪除指定key127.0.0.1:6379 del name(eger) 1127.0.0.1:6379 get name(nil)incr命令 decr命令自增自減incrby key step 自增步數(shù)decrby key step 自減步數(shù)4.3 哈
13、希類型hash4.3.1 哈希類型hash概述Redis中的Hash類型可以看成具有String Key和String Value的map容器。所以該類型非常適合于值對象的信息。如Username、Password和Age等。如果Hash中包含很少的字段,那么該類型的數(shù)據(jù)也將僅占用很少的磁盤空間。每一個Hash可以個鍵值對。4.3.2 哈希類型hash常用命令hset key eld value為指定的key設(shè)定eld/value對(鍵值對)。127.0.0.1:6379 hset myhash username haohao(eger) 1127.0.0.1:6379hget key eld
14、返回指定的key中的eld的值127.0.0.1:6379 hset myhash username haohao(eger) 1127.0.0.1:6379 hget myhash usernamehaohaohdel key eld eld 可以刪除一個或多個字段,返回值是被刪除的字段個數(shù)4.4 列表類型list列表類型list概述在Redis中,List類型是按照 順序排序的字符串鏈表。和數(shù)據(jù)結(jié)構(gòu)中的普通鏈表一樣, 可以在其頭部(left)和 尾部(right)添加新的元素。在 時,如果該鍵并不存在,Redis將為該鍵創(chuàng)建一個新的鏈表。與此相反,如果鏈 表中所有的元素均被移除,那么該鍵也
15、將會被從數(shù)據(jù)庫中刪除。List中可以包含的最大元素數(shù)量是列表類型listlpush key valuesvalue1 value2在指定的key所關(guān)聯(lián)的list的頭部 所有的values,如果該key不存在,該命令在 的之前創(chuàng)建一個與該key 關(guān)聯(lián)的空鏈表,之后再向該鏈表的頭部 數(shù)據(jù)。 成功,返回元素的個數(shù)。lpop key返回并彈出指定的key關(guān)聯(lián)的鏈表中的第一個元素,即頭部元素。如果該key不存在,返回nil;若key存在,則 返回鏈表的頭部元素。127.0.0.1:6379 lpush mylist a b c ( eger) 3127.0.0.1:6379 lpop mylist c1
16、27.0.0.1:6379 lpop mylist b127.0.0.1:6379 lpush mylist a b c ( eger) 3127.0.0.1:6379rpop key從尾部彈出元素。lrange key 索引 索引 遍歷該鍵的所有數(shù)據(jù)4.5 集合類型set集合類型set在Redis中, 可以將Set類型看作為沒有排序的字符集合,和List類型一樣, 也可以在該類型的數(shù)據(jù)值上執(zhí) 行添加、刪除或判斷某一元素是否存在等操作。需 明的是,這些操作的時間復(fù)雜度為O(1),即常量時間內(nèi)完成 次操作。Set可包含的最大元素數(shù)量是 ,和List類型不同的是,Set集合中不允許出現(xiàn)重復(fù)的元素。
17、集合類型set的常用命令sadd key valuesvalue1、value2向set中添加數(shù)據(jù),如果該key的值已有則不會重復(fù)添加smembers key獲取set中所有的成員127.0.0.1:6379 sadd myset a b c ( eger) 3127.0.0.1:6379 LRANGE mylist 0 -11) d2) c3) b4) a5) 16) 27) 38) 4127.0.0.1:6379 lpush mylist a b c ( eger) 3127.0.0.1:6379 rpop mylist asrem key membersmember1、member2刪除
18、set中指定的成員4.6 有序集合類型sortset有序集合類型sortset在redis中,可以保證不重復(fù)的元素,仍然可以進(jìn)行排序有序集合類型sortset常用命令zadd key valuesvalue1、value2向set中添加成員 127.0.0.1:6379 zadd 5 lisi 10 xiaoming 7 xiaohua 8 xiaogouzrem key value移除set中的成員 ZREM myset lisizrange key 索引 索引通過索引區(qū)間返回有序集 指定區(qū)間內(nèi)的成員127.0.0.1:6379 zrange myset 0 -1lisixiaohuaxia
19、ogouxiaoming127.0.0.1:6379 srem myset a b ( eger) 2127.0.0.1:6379 smembers myset1) c127.0.0.1:6379127.0.0.1:6379 sadd myset a b c ( eger) 3127.0.0.1:6379 smembers myset1) c2) a3) b第5章 Redis的通用命令keys pattern獲取所有與pattern匹配的key,返回所有與該key匹配的keys。*表示任意一個或多個字符,?表示任意一個字 符del key1 key2刪除指定的keyexists key判斷該k
20、ey是否存在,1代表存在,0代表不存在127.0.0.1:6379 exists compnay( eger) 0127.0.0.1:6379 exists mylist( eger) 1127.0.0.1:6379type key獲取指定key的類型。該命令將以字符串的格式返回。 返回的字符串為string、list、se sh,如果key不 存在返回none第6章 Redis的持久化127.0.0.1:6379 type company string127.0.0.1:6379 type mylist list127.0.0.1:6379 type myset set127.0.0.1:6
21、379 type myhash hash127.0.0.1:6379127.0.0.1:6379 del company( eger) 1127.0.0.1:6379 keys *companymylistmyhashmyset6.1 Redis持久化概述Redis的高性能是由于其將所有數(shù)據(jù)都 在了內(nèi)存中,為了使Redis在重啟之后仍能保證數(shù)據(jù)不丟失,需要將數(shù)據(jù) 從內(nèi)存中同步到硬盤中,這一過程就是持久化。Redis支持兩種方式的持久化,一種是RDB方式,一種是AOF方式。可以單獨使用其中一種或?qū)⒍呓Y(jié)合使用。RDB持久化(默認(rèn)支持,無需配置)該機(jī)制是指在指定的時間間隔內(nèi)將內(nèi)存中的數(shù)據(jù)集快照寫入
22、磁盤。AOF持久化該機(jī)制將以日志的形式 服務(wù)器所處理的每一個寫操作,在Redis服務(wù)器啟動之初會 該文件來重新構(gòu)建 數(shù)據(jù)庫,以保證啟動后數(shù)據(jù)庫中的數(shù)據(jù)是完整的。無持久化可以通過配置的方式禁用Redis服務(wù)器的持久化功能,這樣 就可以將Redis視為一個功能加強(qiáng)版的memcached了。redis可以同時使用RDB和AOF6.2 RDB持久化機(jī)制RDB持久化機(jī)制優(yōu)點一旦采用該方式,那么你的整個Redis數(shù)據(jù)庫將只包含一個文件,這對于文件備份而言是非常完美的。比如, 你可能打算每個小時歸檔一次最近24小時的數(shù)據(jù),同時還要每天歸檔一次最近30天的數(shù)據(jù)。通過這樣的備份 策略,一旦系統(tǒng)出現(xiàn) 性故障, 可
23、以非常容易的進(jìn)行恢復(fù)。對于 恢復(fù)而言,RDB是非常不錯的選擇。因為 可以非常輕松的將一個單獨的文件壓縮后再轉(zhuǎn)移到其 它 介質(zhì)上性能最大化。對于Redis的服務(wù)進(jìn)程而言,在開始持久化時,它唯一需要做的只是fork(分叉)出子進(jìn)程,之 后再由子進(jìn)程完成這些持久化的工作,這樣就可以極大的避免服務(wù)進(jìn)程執(zhí)行IO操作了。相比于AOF機(jī)制,如果數(shù)據(jù)集很大,RDB的啟動效率會更高RDB持久化機(jī)制缺點如果你想保證數(shù)據(jù)的高可用性,即最大限度的避免數(shù)據(jù)丟失,那么RDB將不是一個很好的選擇。因為系 旦在定時持久化之前出現(xiàn)宕機(jī)現(xiàn)象,此前沒有來得及寫入磁盤的數(shù)據(jù)都將丟失。由于RDB是通過fork子進(jìn)程來協(xié)助完成數(shù)據(jù)持久化
24、工作的,因此,如果當(dāng)數(shù)據(jù)集較大時,可能會導(dǎo)致整個服務(wù) 器停止服務(wù)幾百毫秒,甚至是1秒鐘RDB持久化機(jī)制的配置在redis.windows.conf配置文件中有如下配置:# SNAPSHOTTING # # Save the DB on disk: # save # # # # # # # # # # # # # # #Will save the DB if both the given number of seconds and the givennumber of write operations against the DB occurred.he exelow the behaviour
25、 will be to save:after 900 sec (15 min) ifafter 300 sec (5 min) ifeast 1 key changedeast 10 keys changedafter 60 sec ifeast 10000 keys changedNote: you can disable saving at all commenting all the save lines.It is alsosible to remove all the previously configured savepolikes by adding a save directi
26、ve wisingle empty string argumenthe following exle:save save 900 1save 300 10save 60 10000其中,上面配置的是RDB方式數(shù)據(jù)持久化時機(jī):6.3 AOF持久化機(jī)制6.3.1 AOF持久化機(jī)制優(yōu)點該機(jī)制可以帶來更高的數(shù)據(jù)安全性,即數(shù)據(jù)持久性。Redis中提供了3中同步策略,即每秒同步、每修改同步和不同步。事實上,每秒同步也是異步完成的,其效率也是非常高的,所差的是一旦系統(tǒng)出現(xiàn)宕機(jī)現(xiàn)象,那么這一秒鐘之內(nèi)修改的數(shù)據(jù)將會丟失。而每修改同步,可以將其視為同步持久化,即每次發(fā)生的數(shù)據(jù)變化都會被立即能正確的理解它。到磁盤中
27、。可以預(yù)見,這種方式在效率上是最低的。至于無同步,無需多言,大家都由于該機(jī)制對日志文件的寫入操作采用的是append模式,因此在寫入過程中即使出現(xiàn)宕機(jī)現(xiàn)象,也不會破壞日志文件中已經(jīng)存在的內(nèi)容。然而如果本次操作只是寫入了一半數(shù)據(jù)就出現(xiàn)了系統(tǒng)問題,不用擔(dān)心,在Redis下一次啟動之前,可以通過redis-check-aof工具來幫助解決數(shù)據(jù)一致性。如果日志過大,Redis可以自動啟用rewrite機(jī)制。即Redis以append模式不斷的將修改數(shù)據(jù)寫入到老的磁盤文件中,同時Redis還會創(chuàng)建一個新的文件用于以更好的保證數(shù)據(jù)安全性。此期間有哪些修改命令被執(zhí)行。因此在進(jìn)行rewrite切換時可AOF包
28、含一個格式清晰、易于理解的日志文件用于數(shù)據(jù)的重建所有的修改操作。事實上,也可以通過該文件完成關(guān)鍵字時間(秒)key修改數(shù)量解釋save9001每900秒(15分鐘)至少有1個key發(fā)生變化,則dump內(nèi)存快照save30010每300秒(5分鐘)至少有10個key發(fā)生變化,則dump內(nèi)存快照save6010000每60秒(1分鐘)至少有10000個key發(fā)生變化,則dump內(nèi)存快照AOF持久化機(jī)制缺點對于相同數(shù)量的數(shù)據(jù)集而言,AOF文件通常要大于RDB文件根據(jù)同步策略的不同,AOF在運行效率上往往會慢于RDB。總之,每秒同步策略的效率是比較高的,同步禁用策略的效率和RDB一樣高效。AOF持久化
29、機(jī)制配置開啟AOF持久化將appendonly修改為yes,開啟aof持久化機(jī)制,默認(rèn)會在目錄下產(chǎn)生一個appendonly.aof文件6.3.3.2 AOF持久化時機(jī)# appendfsync always appendfsync everysec# appendfsync no上述配置為aof持久化的時機(jī),解釋如下:關(guān)鍵字持久化時機(jī)解釋appendfsyncalways每執(zhí)行一次更新命令,持久化一次appendfsynceverysec每秒鐘持久化一次appendfsyncno不持久化# APPEND ONLY MODE # By default Redis asynchronously
30、dumps the dataset on disk. This mode is # good enoughany applications, but an ie with the Redis pros or # aer outage may resulto a few minutes of writes lost (depending on # the configured save pos).# The Append Only File isternative persistence modet provides# much better durability. For instance u
31、sing the defauata fsync policy# (see laterhe config file) Redis can lose just ocond of writes in a # dramatic event like a servower outage, or a single write if something# wrong with the Redis pros itself happens, but the operating system is # still running correctly.# AOF and RDB persistence can be
32、 enabled at the same time without problems. # If the AOF is enabled on startup Redis will load the AOF,t is the file # with the better durability guarantees.# Please checkfor more information.appendonly no第7章 Jedis的基本使用7.1 jedis的介紹Redis不僅是使用命令來操作,現(xiàn)在基本上主流的語言都有客戶端支持,比如java、C、C#、C+、Node.js、Go等。 在一些Java
33、的客戶端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中使用Jedis和Redisson。 在企業(yè)中用的最多的就是Jedis,Jedis同樣也是托管在m/xetorthio/jedis。上,地址:使用Jedis操作redis需要導(dǎo)入jar包如下:7.2 jedis的基本操作7.2.1 jedis文檔地址:文檔API文檔查詢方式:7.2.2 jedis常用API7.2.3 jedis的基本操作方法解釋new Jedis(host, port)創(chuàng)建jedis對象,參數(shù)host是redis服務(wù)器地址,參數(shù)port是redis服務(wù)端口set(key,value)設(shè)置字符串類
34、型的數(shù)據(jù)get(key)獲得字符串類型的數(shù)據(jù)hset(key,eld,value)設(shè)置哈希類型的數(shù)據(jù)hget(key,eld)獲得哈希類型的數(shù)據(jù)lpush(key,values)設(shè)置列表類型的數(shù)據(jù)lpop(key)列表左面彈棧rpop(key)列表右面彈棧del(key)刪除指定的keyTestpublic void testJedisSingle()/1 設(shè)置ip地址和端口Jedis jedis = new Jedis(localhost, 6379);/2 設(shè)置數(shù)據(jù)jedis.set(name, itheima);/3 獲得數(shù)據(jù)String name = jedis.get(name);
35、System.out.prln(name);/4資源jedis.close();7.3 jedis連接池的使用7.3.1 jedis連接池的基本概念jedis連接資源的創(chuàng)建與銷毀是很消耗程序性能,所以jedis為提供了jedis的池化技術(shù),jedisPool在創(chuàng)建時初始化一些連接資源到連接池中,使用jedis連接資源時不需要創(chuàng)建,而是從連接池中獲取一個資源進(jìn)行redis的操作,使用完畢后,不需要銷毀該jedis連接資源,而是將該資源歸還給連接池,供其他請求使用。7.3.2 jedis連接池API查詢方式7.3.3 jedisPool的基本使用Testpublic void testJedisPool()/1 獲得連接池配置對象,設(shè)置配置項JedisPoolConfig config = new JedisPoolConfig();/ 1.1 最大連接數(shù)config.setMaxTotal(30);/ 1.2 最大空閑連接數(shù)7.4 案例-編寫jedis連接池工具類JedisUtils.javapackage com.itheima.utils;import java.util.ResourceBundle;import ts.jedis.Jedis; import ts.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CGCC 94-2024文化產(chǎn)品確權(quán)標(biāo)識生成、解析與管理要求
- T/CGCC 1-2016商業(yè)企業(yè)防范外部偷盜行為管理規(guī)范
- T/CEMIA 012-2018光纖激光器用摻鐿光纖
- T/CECS 10339-2023建筑用耐候鋼及構(gòu)件
- T/CECS 10146-2021復(fù)雜卷邊冷彎型鋼
- T/CECS 10045-2019綠色建材評價空氣凈化材料
- T/CCSAS 043-2023化工(危險化學(xué)品)企業(yè)內(nèi)訓(xùn)師技能評定規(guī)范
- T/CCOA 16-2020組合回轉(zhuǎn)清理篩
- T/CCMA 0165-2023工程機(jī)械半消聲室內(nèi)變速箱聲功率級的測試方法
- T/CCMA 0072-2019挖掘機(jī)動臂疲勞壽命試驗方法
- JJG 475-2008 電子式萬能試驗機(jī)-(高清現(xiàn)行)
- 小麥胚芽知識問答
- 戰(zhàn)略方法論三層面法和財務(wù)模型課件
- 裝表接電課件(PPT 86頁)
- 病例報告表(CRF)模板
- Q∕GDW 12158-2021 國家電網(wǎng)有限公司重大活動電力安全保障工作規(guī)范
- 鏈斗技術(shù)規(guī)范書
- 船舶應(yīng)急部署表及船員應(yīng)變卡
- 爾雅《尊重學(xué)術(shù)道德遵守學(xué)術(shù)規(guī)范》期末考試答案0001
- 關(guān)聯(lián)交易模板詳解
- 政治經(jīng)濟(jì)學(xué)計算題附答案
評論
0/150
提交評論