NoSQL數(shù)據(jù)庫(kù)的簡(jiǎn)單介紹以及redis持久化數(shù)據(jù)服務(wù)

本篇內(nèi)容介紹了“NoSql數(shù)據(jù)庫(kù)的簡(jiǎn)單介紹以及redis持久化數(shù)據(jù)服務(wù)”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)岳西,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):028-86922220

NOSQL數(shù)據(jù)庫(kù)介紹

是一種非關(guān)系型數(shù)據(jù)庫(kù)服務(wù),它能解決常規(guī)數(shù)據(jù)庫(kù)的并發(fā)能力,比如傳統(tǒng)的數(shù)據(jù)庫(kù)的IO與性能的瓶頸,同樣它是關(guān)系型數(shù)據(jù)庫(kù)的一個(gè)補(bǔ)充,有著比較好的高效率與高性能。

專注于key-value查詢的redis、memcached、ttserver

解決以下問(wèn)題:

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

2)大數(shù)據(jù)的高效存儲(chǔ)和訪問(wèn)需求

3)高可擴(kuò)展性和高可用性的需求

Nosql數(shù)據(jù)庫(kù)的應(yīng)用環(huán)境

1)數(shù)據(jù)模型比較簡(jiǎn)單

2)需要靈活性更強(qiáng)的IT系統(tǒng)

3)對(duì)數(shù)據(jù)庫(kù)的性能要求較高

4)不需要高度數(shù)據(jù)一致性

5)對(duì)于給定KEY,比較容易映射復(fù)雜值的環(huán)境

Nosql軟件的分類與特點(diǎn)

1)key-value鍵值存儲(chǔ)數(shù)據(jù)庫(kù)(redis、memcached)

  • 用于內(nèi)容緩存,適合負(fù)載并擴(kuò)展大的數(shù)據(jù)集

  • 數(shù)據(jù)類型是一系列的鍵值對(duì)

  • 有快速查詢功能,但存儲(chǔ)數(shù)據(jù)少結(jié)構(gòu)化

  • 對(duì)事務(wù)的支持不好,數(shù)據(jù)庫(kù)故障產(chǎn)生時(shí)不可進(jìn)行回滾

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

  • 用于分布式的文件系統(tǒng)

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

  • 查找速度快,可擴(kuò)展強(qiáng),更容易進(jìn)行分布式擴(kuò)展

  • 功能相對(duì)局限

3)面向文件的數(shù)據(jù)庫(kù)(MongoDB)

  • 用于WEB應(yīng)用較多

  • 數(shù)據(jù)類型是一系列鍵值對(duì)

  • 查詢性能不高,沒(méi)有統(tǒng)一的查詢語(yǔ)法

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

  • 社交網(wǎng)絡(luò)應(yīng)用較多

  • 不容易做分布式的集群方案

常用的Nosql數(shù)據(jù)庫(kù)介紹

1)memcached

是一個(gè)開(kāi)源高性能的,具有分布式內(nèi)存對(duì)象的緩存系統(tǒng)

特點(diǎn):

1、安裝布署簡(jiǎn)單

2、支持高并發(fā)、高性能

3、通過(guò)程序或負(fù)載均衡可以實(shí)現(xiàn)分布式

4、僅為內(nèi)存緩存,重啟服務(wù)數(shù)據(jù)丟失

官方網(wǎng)站:http://memcached.org

2)memcacheDB

是新浪基于memcached開(kāi)發(fā)的一個(gè)開(kāi)源項(xiàng)目,具備了事務(wù)恢復(fù)功能

特點(diǎn):

1、高并發(fā)讀寫

2、高效存儲(chǔ)

3、高可用數(shù)據(jù)存儲(chǔ)

官方網(wǎng)站:http://memcachedb.org/benchmark.html

生產(chǎn)環(huán)境如何選擇Nosql數(shù)據(jù)庫(kù)

1、最常規(guī)的緩存應(yīng)用,memcached最合適

2、持久化存儲(chǔ)方案memcacheDB

3、2000萬(wàn)以內(nèi)數(shù)據(jù)量的小數(shù)據(jù)用memcached

4、大數(shù)據(jù)量可以用redis

redis持久化數(shù)據(jù)服務(wù)

REmote DIctionary  server(redis)是一個(gè)基于key-value鍵值對(duì)的持久化數(shù)據(jù)庫(kù)存儲(chǔ)系統(tǒng),對(duì)支持?jǐn)?shù)據(jù)存儲(chǔ)類型更多,包括字符串、列表、集合等

是一種持久化緩存服務(wù),會(huì)周期的把更新的數(shù)據(jù)寫入磁盤以及把修改操作記錄追加到文件里記錄下來(lái),還支持主從同步模式,是一個(gè)開(kāi)源的基于C語(yǔ)言編寫的,支持網(wǎng)絡(luò)、內(nèi)存可持久化的日志型、key-value數(shù)據(jù)庫(kù)

redis持久服務(wù)的特點(diǎn)

  • key-value鍵值類型存儲(chǔ)系統(tǒng)

  • 支持?jǐn)?shù)據(jù)可靠存儲(chǔ)

  • 單進(jìn)程單線程高性能服務(wù)器

  • 恢復(fù)比較慢

  • 單機(jī)qps(秒并發(fā))可以達(dá)到10W

  • 適合小數(shù)據(jù)高速讀寫訪問(wèn)

redis存儲(chǔ)系統(tǒng)優(yōu)、缺點(diǎn):

  • 可以持久化存儲(chǔ)數(shù)據(jù)

  • 支持每秒10W的讀寫頻率

  • 支持豐富的數(shù)據(jù)類型

  • 所有操作都是原子性的

  • 支持異機(jī)主從復(fù)制

  • 內(nèi)存管理開(kāi)銷大(低于物理內(nèi)存的3/5)

  • 不同命令延遲差別大

官方網(wǎng)站:http://www.redis.io

redis持久化介紹

redis將數(shù)據(jù)存儲(chǔ)于內(nèi)存中,通過(guò)快照、日志兩種方式實(shí)現(xiàn)持久化存儲(chǔ),前者性能高,會(huì)有數(shù)據(jù)丟失的情況,后者相反。

NoSQL數(shù)據(jù)庫(kù)的簡(jiǎn)單介紹以及redis持久化數(shù)據(jù)服務(wù)

redis應(yīng)用場(chǎng)景

MySQL+memcached網(wǎng)站架構(gòu)的問(wèn)題:數(shù)據(jù)量大就需要拆表,需要擴(kuò)容,數(shù)據(jù)一致性是個(gè)問(wèn)題

1)***應(yīng)用場(chǎng)景就是內(nèi)存服務(wù)

2)作為memcached替代方案

3)對(duì)數(shù)據(jù)一致性有一定要求但不高的業(yè)務(wù)

4)需要更多數(shù)據(jù)類型支持的業(yè)務(wù)

5)需要主從同步及負(fù)載均衡的業(yè)務(wù)

redis的安裝

要進(jìn)行主從同步配置,可以實(shí)現(xiàn)故障切換,主上禁用數(shù)據(jù)持久化,從上配置,內(nèi)存要夠大

wget http://download.redis.io/releases/redis-2.8.24.tar.gz [root@redis-m tools]#tar zxf redis-2.8.24.tar.gz [root@redis-m tools]#cd redis-2.8.24 [root@redis-m redis-2.8.24]#make [root@redis-m redis-2.8.24]#make PREFIX=/application/redis-2.8.24 install [root@redis-m redis-2.8.24]#ln -s /application/redis-2.8.24 /application/redis [root@redis-m tools]# tree /application/redis /application/redis `-- bin     |-- redis-benchmark #性能測(cè)試工具     |-- redis-check-aof #檢測(cè)更新日志     |-- redis-check-dump #檢查本地?cái)?shù)據(jù)庫(kù)rdb文件     |-- redis-cli #命令行客戶端操作工具     |-- redis-sentinel -> redis-server     `-- redis-server #服務(wù)的啟動(dòng)程序

配置環(huán)境變量

[root@redis-m tools]# echo "PATH=/application/redis/bin:$PATH">>/etc/profile [root@redis-m tools]# source /etc/profile [root@redis-m tools]# which redis-server /application/redis/bin/redis-server

查看幫助文檔

[root@redis-m tools]# redis-server --help Usage: ./redis-server [/path/to/redis.conf] [options]        ./redis-server - (read config from stdin)        ./redis-server -v or --version        ./redis-server -h or --help        ./redis-server --test-memory <megabytes> Examples:        ./redis-server (run the server with default conf)        ./redis-server /etc/redis/6379.conf        ./redis-server --port 7777        ./redis-server --port 7777 --slaveof 127.0.0.1 8888        ./redis-server /etc/myredis.conf --loglevel verbose

啟動(dòng)服務(wù)

[root@redis-m ~]# cd /application/redis/    [root@redis-m redis]# ll total 4 drwxr-xr-x 2 root root 4096 Mar 22 04:50 bin [root@redis-m redis]# mkdir conf [root@redis-m redis]# cp /download/tools/redis-2.8.24/redis.conf ./conf/ [root@redis-m redis]# redis-server /application/redis/conf/redis.conf & [6072] 22 Mar 05:00:51.373 # Server started, Redis version 2.8.24 [6072] 22 Mar 05:00:51.374 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

#內(nèi)存不足的時(shí)候,數(shù)據(jù)加載到磁盤可能失效,可以使用命令解決或修改配置文件

[6072] 22 Mar 05:00:51.375 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. [6072] 22 Mar 05:00:51.375 * The server is now ready to accept connections on port 6379 [root@redis-m redis]# lsof -i :6379 COMMAND PID USER FD  TYPE DEVICE SIZE/OFF NODE NAME redis-ser 6072 root 4u IPv6  24271 0t0  TCP *:6379 (LISTEN) redis-ser 6072 root 5u IPv4 24273 0t0  TCP *:6379 (LISTEN) vm.overcommit_memory

0表示用戶空間請(qǐng)求更多內(nèi)存時(shí),內(nèi)核嘗試估算出余下可用內(nèi)存

1表示內(nèi)核允許***限度的的使用內(nèi)存

關(guān)閉服務(wù)命令

[root@redis-m redis]# redis-cli shutdown [6072] 22 Mar 05:09:32.699 # User requested shutdown... [6072] 22 Mar 05:09:32.699 * Saving the final RDB snapshot before exiting. [6072] 22 Mar 05:09:32.710 * DB saved on disk [6072] 22 Mar 05:09:32.711 # Redis is now ready to exit, bye bye... [1]+  Done  redis-server /application/redis/conf/redis.conf

“NoSQL數(shù)據(jù)庫(kù)的簡(jiǎn)單介紹以及redis持久化數(shù)據(jù)服務(wù)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

網(wǎng)站名稱:NoSQL數(shù)據(jù)庫(kù)的簡(jiǎn)單介紹以及redis持久化數(shù)據(jù)服務(wù)
URL地址:http://bm7419.com/article20/jcsgjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)、外貿(mào)網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)公司、微信小程序定制網(wǎng)站、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司