




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、高性能NoSQL數(shù)據(jù)庫Redis,盛大在線:徐江濤,博客:,NoSQL 大行其道,APP,高并發(fā)請求,海量化數(shù)據(jù),Disk,內(nèi)存,圖靈獎得主Jim Gray :“內(nèi)存是新的硬盤,硬盤是新的磁帶”,memcached,Redis分享大綱,Redis是什么,Redis的特性,Redis的API及適用場景,Redis的使用經(jīng)驗,運維參數(shù),Redis是什么,sponsored by:,What is,Redis is. an “advanced key-value store”,b y S A LVATO R E S A N F I L I P P O ( a n t i r e z ),Redis
2、vs Memcached,Memcached 操作實例,鍵(keys),值(values),page:index.html,.,user:101:session,xDrSdEwd4dSlZkEkj+,login_count,“100001”,user:100:last_login_time,“102736485756”,所有的操作都是基于字符串、或者是2進制的數(shù)據(jù)格式、 操作起來大部分是GET、SET這2個命令操作,易于使用,Redis vs Memcached,和Memcached 一樣、使用簡單、性能高效(1G 1M),異步持久化存儲,支持多種數(shù)據(jù)類型; Strings(字符)、 List
3、s(鏈表)、 Sets(集合)、ZSets(有序集合)、Hashes(哈希),更多、更方便API接口 管理數(shù)據(jù); More commands,and More.,Is Redis,Redis vs Memcached,Redis 數(shù)據(jù)類型實例,鍵(keys),值(values),page:index.html,.,users_logged_in_today, 1, 2, 3, 4, 5 ,latest_post_ids,201, 204, 209,.,users_and_scores,joe 1.3483 bert 93.4 fred 283.22 chris 23774.17,String,
4、Sets,List,ZSets,Redis的API及適用場景,Strings 字符,./redis-cli SET mystring “ hello world ”,C client,key,value,./redis-cli GET mystring,hello world,return,GETSET MGET SETNX SETEX MSET MSETNX,Redis的API及適用場景,Strings 字符,INCR INCRBY DECR DECRBY APPEND SUBSTR,Redis的API及適用場景,Expiration,當(dāng)把Redis當(dāng)作緩存服務(wù)使用時,你可以設(shè)置數(shù)據(jù)的過期時
5、間,不管是數(shù)據(jù)類型(string,list,zsets,sets,hash)是什么, 此系列命令都有效,EXPIRE paitoubing 1234,TTL paitoubing = 1234,秒,秒,Redis的API及適用場景,Deleting Keys,DEL paitoubing,EXISTS paitoubing = 0 (false),Redis的API及適用場景,Lists,a,b,c,d,e,f,LPUSH,RPUSH,LPOP,RPOP,LPUSH paitoubing a,Redis的API及適用場景,Lists,a,b,c,d,e,f,LLEN = 6,x,LREM 1
6、b,LRANGE 2 3,LINDEX 5,Redis的API及適用場景,隊列服務(wù)Queues,a,b,c,d,e,f,RPUSH,LPOP,RPUSH paitoubing abc RPUSH paitoubing def LPOP paitoubing = “abc” LPOP paitoubing = “def” LPOP paitoubing = (nil),Redis的API及適用場景,集合Sets,uid:1:followers,bruce tom zhangsan lisi wangermazi xiaoyueyue fengjie,uid:2:followers,xiaoyue
7、yue fengjie liyuchun furongjiejie,SREM uid:1:followers wangermazi,x,SMOVE uid:1:followers uid:2:followers lisi,SADD uid:2:followers tom,Redis的API及適用場景,集合Sets,uid:1:followers,bruce tom zhangsan lisi wangermazi xiaoyueyue fengjie,uid:2:followers,xiaoyueyue fengjie liyuchun furongjiejie,SCARD uid:1:fol
8、lowers = 7 SISMEMBER uid:1:followers xinxin = 0 (meaning false) SRANDMEMBER uid:1:followers = “xiaoyueyue”,SMEMBERS uid:2:followers,= xiaoyueyue fengjie liyuchun furongjiejie,Redis的API及適用場景,集合Sets(交集、并集、差集),uid:1:followers,bruce tom zhangsan lisi wangermazi xiaoyueyue fengjie,uid:2:followers,xiaoyue
9、yue fengjie liyuchun furongjiejie,xiaoyueyue fengjie,SINTER uid:1:followers uid:2:followers = xiaoyueyue fengjie,SINTERSTORE,SUNION SUNIONSTORE,SDIFF SDIFFSTORE,Redis的API及適用場景,有序集合ZSets,Like Sets,每個元素,增加了rank,或是score,no time!,Redis的API及適用場景,Hashes(哈希),產(chǎn)品:Product 1,created_at : 1290149988 product_id
10、: 1 name : 盛大點券 available : 100,HSET product:1 created_at 1290149988,HSET product:1 name “盛大點券”,HSET product:1 available 100,HGET product:1 name = 盛大點券,HLEN product:1 = 3,HKEYS product:1 = created_at, name,available,HGETALL product:1 = created_at = 102374657 name= 盛大點券 available= 100,HVALS HEXISTS H
11、INCRBY HMGET HMSET,Redis的API及適用場景,Redis Social Network (社會化網(wǎng)絡(luò)),UGC,好友:雙向關(guān)系,粉絲:單向關(guān)系,text,photo,more.,blog、Message、photo、,Redis的API及適用場景,新增用戶,username userid,INCR next_user_id,Return s uid,SET user:uid:name username,SET username:username id,Int 整形,變量值,新增日記,content author,I NCR next_post_id,Return s pi
12、d,SET post:pid:content content,SET post:pid:author uid,LPUSH user:uid:posts pid,LPUSH posts:global pid,Redis Social Network (社會化網(wǎng)絡(luò)),Unique IDs,SORT,ZCARD,MONITOR,SLAVEOF,RENAME,SELECT,SAVE,SUBSCRIBE,PUBLISH,Redis的API及適用場景,Enough commands! (版本更新快),Redis的安裝,下載:,Redis的安裝tar zxvf redis-version.tar.gzcd
13、redis-versionmake由于沒有make install,所以得把源代碼目錄里的關(guān)鍵文件手動復(fù)制到適當(dāng)?shù)奈恢茫篶p redis.conf /etc/cp redis-benchmark redis-cli redis-server /usr/bin/ 修改/etc/redis.conf daemonize yes 啟動redis服務(wù) # /usr/bin/redis-server /etc/redis.conf,Redis的安裝,Redis.conf (配置文件),daemonize yes = 以守護進程的方式運行,maxmemory = Redis在啟動時會把所有數(shù)據(jù)加載到內(nèi)存中
14、 ,設(shè)置使用內(nèi)存限制 , 新的vm機制,key存放內(nèi)存,value會存放在swap區(qū),不建議 可通過consistent hashing把數(shù)據(jù)分布到多個服務(wù)器上,save 900 1save 300 10save 60 10000,= 900秒內(nèi)有1個改變, 300秒內(nèi)有10個改變, 60秒內(nèi)有10000個改變, redis就會內(nèi)存中的key保存到數(shù)據(jù)庫文件中去,dbfilename dump.rdb,保存數(shù)據(jù)的路徑,slaveof 192.168.1.2 6379 = 在啟動時,REDIS會自動從MASTER上把數(shù)據(jù) 先同步過來,而無需我們手動進行,MASTER上每有一次落地保存,會自動向S
15、LAVE進行同步。 當(dāng)然這里的問題是,如果MASTER不保存, SLAVE也就無法得到這些數(shù)據(jù),這和REDIS本身的內(nèi)存寫磁盤邏輯是一樣,Redis的安裝,requirepass = 連接密碼(注釋),rdbcompression = 存儲至本地數(shù)據(jù)庫時是否壓縮數(shù)據(jù),默認(rèn)為yes,masterauth = 當(dāng)本機為從服務(wù)時, 設(shè)置主服務(wù)的連接密碼(注釋),maxclients = 最大客戶端連接數(shù),默認(rèn)不限制(注釋),appendonly = 是否在每次更新操作后進行日志記錄,如果不開啟, 可能會在斷電時導(dǎo)致一段時間內(nèi)的數(shù)據(jù)丟失。 因為redis本身同步數(shù)據(jù)文件是按上面save條件來同步的,
16、所以有的數(shù)據(jù)會在一段時間內(nèi)只存在于內(nèi)存中。默認(rèn)值為no,appendfsync = 更新日志條件,共有3個可選值。 no表示等操作系統(tǒng)進行數(shù)據(jù)緩存同步到磁盤, always表示每次更新操作后手動調(diào)用fsync()將數(shù)據(jù)寫到磁盤, everysec表示每秒同步一次(默認(rèn)值)。,vm-enabled是否使用虛擬內(nèi)存,NO PRODUCT !,Redis的主從-集群,client,client,client,master,master,master,slave,slave,slave,CONSISTENT HASH / 定容,read,write,同步數(shù)據(jù),Sample demo,風(fēng)險!,SESSION,slave,Redis的開發(fā)語言支持,Language
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧城市的網(wǎng)絡(luò)安全防御體系研究
- 輕型建材培訓(xùn)課件模板
- 學(xué)習(xí)障礙的教育心理學(xué)分析與干預(yù)
- 心理輔導(dǎo)對提高學(xué)生學(xué)習(xí)動力的影響
- 醫(yī)療健康教育中教育機器人的角色與挑戰(zhàn)
- 構(gòu)建智慧校園偏遠地區(qū)教育技術(shù)的探索與實施
- 提升教師知識產(chǎn)權(quán)意識構(gòu)建教育創(chuàng)新生態(tài)圈
- 全球石油市場供需格局2025年調(diào)整策略與行業(yè)影響研究報告
- 公交優(yōu)先發(fā)展對2025年城市交通擁堵治理的長期影響研究報告
- 北京工業(yè)職業(yè)技術(shù)學(xué)院《英語小說導(dǎo)讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 本草食養(yǎng):養(yǎng)生藥膳餐廳商業(yè)計劃書
- 2025年螢石行業(yè)市場需求分析報告及未來五至十年行業(yè)預(yù)測報告
- 食品安全事故流行病學(xué)調(diào)查技術(shù)指南
- 內(nèi)蒙古呼和浩特實驗教育集團2025屆七年級英語第二學(xué)期期末考試模擬試題含答案
- 2025年廣東省高考生物試題
- 2025至2030中國匹克球市場前景預(yù)判與未來發(fā)展形勢分析報告
- 防護窗拆除合同范本
- 關(guān)于問責(zé)的工作報告
- 城市交通流優(yōu)化的AI驅(qū)動預(yù)測模型研究-洞察闡釋
- 香港勞工合同保密協(xié)議
- 會議活動復(fù)盤報告
評論
0/150
提交評論