自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

NoSQL數(shù)據(jù)庫服務(wù)之Redis

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

 一圖詳解DB的分支產(chǎn)品

 

Nosql數(shù)據(jù)庫介紹

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

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

解決以下問題:

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

2)大數(shù)據(jù)的高效存儲和訪問需求

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

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

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

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

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

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

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

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

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

  • 用于內(nèi)容緩存,適合負(fù)載并擴(kuò)展大的數(shù)據(jù)集
  • 數(shù)據(jù)類型是一系列的鍵值對
  • 有快速查詢功能,但存儲數(shù)據(jù)少結(jié)構(gòu)化
  • 對事務(wù)的支持不好,數(shù)據(jù)庫故障產(chǎn)生時不可進(jìn)行回滾

 

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

  • 用于分布式的文件系統(tǒng)
  • 以列簇式存儲,將同一列數(shù)據(jù)存在一起
  • 查找速度快,可擴(kuò)展強(qiáng),更容易進(jìn)行分布式擴(kuò)展
  • 功能相對局限

 

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

  • 用于WEB應(yīng)用較多
  • 數(shù)據(jù)類型是一系列鍵值對
  • 查詢性能不高,沒有統(tǒng)一的查詢語法

 

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

  • 社交網(wǎng)絡(luò)應(yīng)用較多
  • 不容易做分布式的集群方案

 

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

1)memcached

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

特點(diǎn):

1、安裝布署簡單

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

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

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

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

2)memcacheDB

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

特點(diǎn):

1、高并發(fā)讀寫

2、高效存儲

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

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

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

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

2、持久化存儲方案memcacheDB

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

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

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

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

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

 

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

  • key-value鍵值類型存儲系統(tǒng)
  • 支持?jǐn)?shù)據(jù)可靠存儲
  • 單進(jìn)程單線程高性能服務(wù)器
  • 恢復(fù)比較慢
  • 單機(jī)qps(秒并發(fā))可以達(dá)到10W
  • 適合小數(shù)據(jù)高速讀寫訪問

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

  • 可以持久化存儲數(shù)據(jù)
  • 支持每秒10W的讀寫頻率
  • 支持豐富的數(shù)據(jù)類型
  • 所有操作都是原子性的
  • 支持異機(jī)主從復(fù)制
  • 內(nèi)存管理開銷大(低于物理內(nèi)存的3/5)
  • 不同命令延遲差別大

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

redis持久化介紹

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

 

redis應(yīng)用場景

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

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

2)作為memcached替代方案

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

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

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

redis的安裝

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

  1. wget http://download.redis.io/releases/redis-2.8.24.tar.gz 
  2. [root@redis-m tools]#tar zxf redis-2.8.24.tar.gz 
  3. [root@redis-m tools]#cd redis-2.8.24 
  4. [root@redis-m redis-2.8.24]#make 
  5. [root@redis-m redis-2.8.24]#make PREFIX=/application/redis-2.8.24 install 
  6. [root@redis-m redis-2.8.24]#ln -s /application/redis-2.8.24 /application/redis 
  7. [root@redis-m tools]# tree /application/redis 
  8. /application/redis 
  9. `-- bin 
  10.     |-- redis-benchmark #性能測試工具 
  11.     |-- redis-check-aof #檢測更新日志 
  12.     |-- redis-check-dump #檢查本地數(shù)據(jù)庫rdb文件 
  13.     |-- redis-cli #命令行客戶端操作工具 
  14.     |-- redis-sentinel -> redis-server 
  15.     `-- redis-server #服務(wù)的啟動程序 

配置環(huán)境變量

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

查看幫助文檔

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

啟動服務(wù)

  1. [root@redis-m ~]# cd /application/redis/    
  2. [root@redis-m redis]# ll 
  3. total 4 
  4. drwxr-xr-x 2 root root 4096 Mar 22 04:50 bin 
  5. [root@redis-m redis]# mkdir conf 
  6. [root@redis-m redis]# cp /download/tools/redis-2.8.24/redis.conf ./conf/ 
  7. [root@redis-m redis]# redis-server /application/redis/conf/redis.conf & 
  8. [6072] 22 Mar 05:00:51.373 # Server started, Redis version 2.8.24 
  9. [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ù)據(jù)加載到磁盤可能失效,可以使用命令解決或修改配置文件

  1. [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. 
  2. [6072] 22 Mar 05:00:51.375 * The server is now ready to accept connections on port 6379 
  3. [root@redis-m redis]# lsof -i :6379 
  4. COMMAND PID USER FD  TYPE DEVICE SIZE/OFF NODE NAME 
  5. redis-ser 6072 root 4u IPv6  24271 0t0  TCP *:6379 (LISTEN) 
  6. redis-ser 6072 root 5u IPv4 24273 0t0  TCP *:6379 (LISTEN) 
  7. vm.overcommit_memory 

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

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

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

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

 

責(zé)任編輯:武曉燕 來源: 民工哥技術(shù)之路
相關(guān)推薦

2011-07-06 16:36:40

Redis

2011-07-13 09:58:15

HBase

2011-05-16 10:29:44

HandlerSockNoSQL

2011-05-30 09:27:35

NoSQL評測

2023-11-29 16:20:21

2024-02-02 10:51:53

2011-06-14 09:09:13

NoSQLMongoDB

2021-09-28 09:25:05

NoSQL數(shù)據(jù)庫列式數(shù)據(jù)庫

2011-10-09 09:38:03

OracleNoSQL

2024-03-28 09:00:00

NoSQL數(shù)據(jù)庫

2019-07-08 10:36:34

數(shù)據(jù)庫WebNoSQL

2011-07-19 09:08:50

JavaNoSQL

2010-04-01 09:45:38

NoSQL

2023-03-05 16:25:38

NoSQL數(shù)據(jù)庫

2020-10-31 22:01:40

NoSQL數(shù)據(jù)庫

2010-08-13 16:40:27

CouchDBAndroid SDKAndroid

2017-05-25 10:11:46

數(shù)據(jù)庫令牌節(jié)點(diǎn)

2017-11-08 09:22:36

數(shù)據(jù)庫NoSQLArangoDB

2025-01-10 09:25:10

NOSQL數(shù)據(jù)庫ACID

2011-04-14 11:14:21

OracleNoSQLMySQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號