Redis入門教程(一)

      網(wǎng)友投稿 710 2022-05-29

      一、NoSQL概述

      1、什么是NoSQL

      NoSQL,泛指非關(guān)系型的數(shù)據(jù)庫。隨著互聯(lián)網(wǎng)web2.0網(wǎng)站的興起,傳統(tǒng)的關(guān)系數(shù)據(jù)庫在應(yīng)付web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的SNS類型的web2.0純動(dòng)態(tài)網(wǎng)站已經(jīng)顯得力不從心,暴露了很多難以克服的問題,而非關(guān)系型的數(shù)據(jù)庫則由于其本身的特點(diǎn)得到了非常迅速的發(fā)展。NoSQL數(shù)據(jù)庫的產(chǎn)生就是為了解決大規(guī)模數(shù)據(jù)集合多重?cái)?shù)據(jù)種類帶來的挑戰(zhàn),尤其是大數(shù)據(jù)應(yīng)用難題。

      2、NoSQL解決的問題

      (1)對(duì)數(shù)據(jù)庫的高并發(fā)讀寫需求

      (2)對(duì)海量數(shù)據(jù)的高效率存儲(chǔ)及訪問

      (3)對(duì)數(shù)據(jù)庫的高可擴(kuò)展性和高可用性需求

      3、主流的NoSQL產(chǎn)品

      4、NoSql數(shù)據(jù)庫的四大分類

      (1)鍵值存儲(chǔ)數(shù)據(jù)庫

      相關(guān)產(chǎn)品:Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB

      典型應(yīng)用:內(nèi)容緩存,主要用于處理大量數(shù)據(jù)的高訪問負(fù)載

      數(shù)據(jù)模型:一系列的鍵值對(duì)

      優(yōu)勢(shì):快速查詢

      劣勢(shì):存儲(chǔ)的數(shù)據(jù)缺少結(jié)構(gòu)化

      (2)列存儲(chǔ)數(shù)據(jù)庫

      相關(guān)產(chǎn)品:Cassandra,Hbase,Riak

      典型應(yīng)用:分布式文件系統(tǒng)

      數(shù)據(jù)模型:以列簇式存儲(chǔ),將同一列數(shù)據(jù)存在一起

      優(yōu)勢(shì):查找速度塊,可擴(kuò)展性強(qiáng),更容易進(jìn)行分布式擴(kuò)展

      劣勢(shì):功能相對(duì)局限

      (3)文檔型數(shù)據(jù)庫

      相關(guān)產(chǎn)品:CouchDB,MongoDB

      典型應(yīng)用:與key-value類似,value是結(jié)構(gòu)化的

      數(shù)據(jù)模型:一系列的鍵值對(duì)

      優(yōu)勢(shì):數(shù)據(jù)結(jié)構(gòu)要求不嚴(yán)格

      劣勢(shì):查詢性能不高,而且缺乏統(tǒng)一查詢語法

      (4)圖形數(shù)據(jù)庫

      相關(guān)數(shù)據(jù)庫:Neo4j,infogrid,infinite Graph

      典型應(yīng)用:社交網(wǎng)絡(luò)

      數(shù)據(jù)模型:圖結(jié)構(gòu)

      優(yōu)勢(shì):利用圖結(jié)構(gòu)相關(guān)算法

      劣勢(shì):需要對(duì)整個(gè)圖做計(jì)算才能得出結(jié)果,不容易做分布式的集群方案

      5、NoSql特點(diǎn)

      在大數(shù)據(jù)存取上具備關(guān)系型數(shù)據(jù)庫無法比擬的性能優(yōu)勢(shì),例如:

      (1)易擴(kuò)展

      NoSQL數(shù)據(jù)庫種類繁多,但是一個(gè)共同的特點(diǎn)都是去掉關(guān)系數(shù)據(jù)庫的關(guān)系型特性。數(shù)據(jù)之間無關(guān)系,這樣就非常容易擴(kuò)展。也無形之間,在架構(gòu)的層面上帶來了可擴(kuò)展的能力。

      (2)大數(shù)據(jù)量

      高性能NoSQL數(shù)據(jù)庫都具有非常高的讀寫性能,尤其在大數(shù)據(jù)量下,同樣表現(xiàn)優(yōu)秀。這得益于它?的無關(guān)系性,數(shù)據(jù)庫的結(jié)構(gòu)簡(jiǎn)單。

      (3)靈活的數(shù)據(jù)模型

      NoSQL無需事先為要存儲(chǔ)的數(shù)據(jù)建立字段,隨時(shí)可以存儲(chǔ)自定義的數(shù)據(jù)格式。而在關(guān)系數(shù)據(jù)庫里,增刪字段是一件非常麻煩的事情。如果是非常大數(shù)據(jù)量的表,增加字段簡(jiǎn)直就是一個(gè)噩夢(mèng)。這點(diǎn)在大數(shù)據(jù)量的Web2.0時(shí)代尤其明顯。

      (4)高可用

      NoSQL在不太影響性能的情況,就可以方便的實(shí)現(xiàn)高可用的架構(gòu)。比如Cassandra, HBase模型,通過復(fù)制模型也能實(shí)現(xiàn)高可用。綜上所述,NoSQL的非關(guān)系特性使其成為了后Web2.0時(shí)代的寵兒,助力大型Web2.0網(wǎng)站的再次起飛,是一項(xiàng)全新的數(shù)據(jù)庫革命性運(yùn)動(dòng)。

      二、Redis概述

      1、什么是Redis

      Redis是一個(gè)開源的使用ANSI?C語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,并提供多種語言的API。從2010年3月15日起,Redis的開發(fā)工作由VMware主持。從2013年5月開始,Redis的開發(fā)由Pivotal贊助。

      redis是一個(gè)key-value存儲(chǔ)系統(tǒng)。和Memcached類似,它支持存儲(chǔ)的value類型相對(duì)更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數(shù)據(jù)類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎(chǔ)上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數(shù)據(jù)都是緩存在內(nèi)存中。區(qū)別的是redis會(huì)周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎(chǔ)上實(shí)現(xiàn)了master-slave(主從)同步。

      Redis 是一個(gè)高性能的key-value數(shù)據(jù)庫。 redis的出現(xiàn),很大程度補(bǔ)償了memcached這類key/value存儲(chǔ)的不足,在部 分場(chǎng)合可以對(duì)關(guān)系數(shù)據(jù)庫起到很好的補(bǔ)充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便。

      Redis支持主從同步。數(shù)據(jù)可以從主服務(wù)器向任意數(shù)量的從服務(wù)器上同步,從服務(wù)器可以是關(guān)聯(lián)其他從服務(wù)器的主服務(wù)器。這使得Redis可執(zhí)行單層樹復(fù)制。存盤可以有意無意的對(duì)數(shù)據(jù)進(jìn)行寫操作。由于完全實(shí)現(xiàn)了發(fā)布/訂閱機(jī)制,使得從數(shù)據(jù)庫在任何地方同步樹時(shí),可訂閱一個(gè)頻道并接收主服務(wù)器完整的消息發(fā)布記錄。同步對(duì)讀取操作的可擴(kuò)展性和數(shù)據(jù)冗余很有幫助。

      redis的官網(wǎng)地址,非常好記,是redis.io。(特意查了一下,域名后綴io屬于國家域名,是british Indian Ocean territory,即英屬印度洋領(lǐng)地)

      目前,Vmware在資助著redis項(xiàng)目的開發(fā)和維護(hù)。

      2、Redis性能

      測(cè)試完成了50個(gè)并發(fā)執(zhí)行100000個(gè)請(qǐng)求。

      設(shè)置和獲取的值是一個(gè)256字節(jié)字符串。

      Linux box是運(yùn)行Linux 2.6,這是X3320 Xeon 2.5 ghz。

      文本執(zhí)行使用loopback接口(127.0.0.1)。

      結(jié)果:讀的速度是110000次/s,寫的速度是81000次/s 。

      3、Redis的應(yīng)用場(chǎng)景

      (1)緩存

      (2)聊天室的在線好友列表

      (3)任務(wù)隊(duì)列

      Redis入門教程(一)

      (4)應(yīng)用排行榜

      (5)網(wǎng)站訪問統(tǒng)計(jì)

      (6)數(shù)據(jù)過期處理

      (7)分布式集群架構(gòu)的session分離

      三、Redis安裝

      以下步驟在Centos6.5下進(jìn)行操作

      1)安裝redis編譯的c環(huán)境,yum install gcc-c++

      2)將redis-2.6.16.tar.gz上傳到Linux系統(tǒng)中

      3)解壓到/usr/local下 ?tar -xvf redis-2.6.16.tar.gz?-C /usr/local

      4)進(jìn)入redis-2.6.16目錄?使用make命令編譯redis

      5)在redis-2.6.16目錄中?使用make PREFIX=/usr/local/redis install命令安裝 redis到/usr/local/redis中

      6)拷貝redis-2.6.16中的redis.conf到安裝目錄redis中

      7)如需遠(yuǎn)程連接redis,需配置redis端口6379在linux防火墻中開發(fā)

      /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT

      /etc/rc.d/init.d/iptables save

      至此,redis已經(jīng)安裝成功。

      四、Redis啟動(dòng)

      1、前端啟動(dòng)

      直接運(yùn)行redis-server即可,前端模式的缺點(diǎn)是啟動(dòng)后,不能對(duì)其進(jìn)行其他操作,如果操作必須使用ctrl+c,同時(shí)redis-server結(jié)束,不推薦使用此方法。

      2、后端啟動(dòng)

      (1)首先需要修改redis.conf文件,將其中的daemonize 改為yes。

      (2)啟動(dòng)時(shí)指定配置文件

      ./redis-server ./redis.conf

      五、Redis停止

      (1)查找redis的pid

      ps -ef | grep redis

      (2)使用kill

      kill -9 pid

      NoSQL Redis

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:分布式消息隊(duì)列探討之kalfka 篇
      下一篇:JAVA反序列化漏洞淺析
      相關(guān)文章
      中国亚洲呦女专区| 亚洲色大成网站www| 亚洲国产精品尤物yw在线| 亚洲久热无码av中文字幕| 国产人成亚洲第一网站在线播放| 亚洲永久中文字幕在线| 亚洲视频一区二区三区| 亚洲色欲www综合网| 亚洲视频一区网站| 亚洲午夜电影在线观看高清| 亚洲日韩中文字幕| 国产精品亚洲专区在线观看| 99热亚洲色精品国产88| 中文字幕乱码亚洲无线三区 | 久久精品国产亚洲Aⅴ香蕉 | 亚洲免费黄色网址| 亚洲av片不卡无码久久| 亚洲永久在线观看| 亚洲精品无码一区二区| 亚洲AV无码国产剧情| 午夜亚洲福利在线老司机| 亚洲AV无码成H人在线观看 | 亚洲欧洲日产v特级毛片| 亚洲制服在线观看| 亚洲熟妇无码AV| 色婷婷亚洲一区二区三区| 亚洲а∨天堂久久精品| 久久亚洲国产成人精品无码区| 亚洲色大成网站www永久一区| 亚洲AV永久青草无码精品| 亚洲精品永久www忘忧草| 亚洲精品第一国产综合野| 亚洲精品亚洲人成在线| 亚洲国产精品嫩草影院久久 | 亚洲乱码一区二区三区在线观看| 久久久无码精品亚洲日韩蜜桃| 亚洲尹人九九大色香蕉网站| 亚洲二区在线视频| 亚洲欧美综合精品成人导航| 亚洲精品国产va在线观看蜜芽| 亚洲精品无码午夜福利中文字幕|