久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

NoSQL數據庫的簡單介紹以及redis持久化數據服務

152次閱讀
沒有評論

共計 4512 個字符,預計需要花費 12 分鐘才能閱讀完成。

本篇內容介紹了“NoSQL 數據庫的簡單介紹以及 redis 持久化數據服務”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

Nosql 數據庫介紹

是一種非關系型數據庫服務,它能解決常規數據庫的并發能力,比如傳統的數據庫的 IO 與性能的瓶頸,同樣它是關系型數據庫的一個補充,有著比較好的高效率與高性能。

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

解決以下問題:

1) 對數據庫的高并發讀寫需求

2) 大數據的高效存儲和訪問需求

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

Nosql 數據庫的應用環境

1) 數據模型比較簡單

2) 需要靈活性更強的 IT 系統

3) 對數據庫的性能要求較高

4) 不需要高度數據一致性

5) 對于給定 KEY,比較容易映射復雜值的環境

Nosql 軟件的分類與特點

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

用于內容緩存,適合負載并擴展大的數據集

數據類型是一系列的鍵值對

有快速查詢功能,但存儲數據少結構化

對事務的支持不好,數據庫故障產生時不可進行回滾

2) 列存儲數據庫 (HBase)

用于分布式的文件系統

以列簇式存儲,將同一列數據存在一起

查找速度快,可擴展強,更容易進行分布式擴展

功能相對局限

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

用于 WEB 應用較多

數據類型是一系列鍵值對

查詢性能不高,沒有統一的查詢語法

4) 圖形數據庫 (Graph)

社交網絡應用較多

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

常用的 Nosql 數據庫介紹

1)memcached

是一個開源高性能的,具有分布式內存對象的緩存系統

特點:

1、安裝布署簡單

2、支持高并發、高性能

3、通過程序或負載均衡可以實現分布式

4、僅為內存緩存,重啟服務數據丟失

官方網站:http://memcached.org

2)memcacheDB

是新浪基于 memcached 開發的一個開源項目,具備了事務恢復功能

特點:

1、高并發讀寫

2、高效存儲

3、高可用數據存儲

官方網站:http://memcachedb.org/benchmark.html

生產環境如何選擇 Nosql 數據庫

1、最常規的緩存應用,memcached 最合適

2、持久化存儲方案 memcacheDB

3、2000 萬以內數據量的小數據用 memcached

4、大數據量可以用 redis

redis 持久化數據服務

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

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

redis 持久服務的特點

key-value 鍵值類型存儲系統

支持數據可靠存儲

單進程單線程高性能服務器

恢復比較慢

單機 qps(秒并發) 可以達到 10W

適合小數據高速讀寫訪問

redis 存儲系統優、缺點:

可以持久化存儲數據

支持每秒 10W 的讀寫頻率

支持豐富的數據類型

所有操作都是原子性的

支持異機主從復制

內存管理開銷大 (低于物理內存的 3 /5)

不同命令延遲差別大

官方網站:http://www.redis.io

redis 持久化介紹

redis 將數據存儲于內存中,通過快照、日志兩種方式實現持久化存儲,前者性能高,會有數據丟失的情況,后者相反。

redis 應用場景

MYSQL+memcached 網站架構的問題:數據量大就需要拆表,需要擴容,數據一致性是個問題

1)*** 應用場景就是內存服務

2) 作為 memcached 替代方案

3) 對數據一致性有一定要求但不高的業務

4) 需要更多數據類型支持的業務

5) 需要主從同步及負載均衡的業務

redis 的安裝

要進行主從同步配置,可以實現故障切換,主上禁用數據持久化,從上配置,內存要夠大

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 #性能測試工具  |-- redis-check-aof #檢測更新日志  |-- redis-check-dump #檢查本地數據庫 rdb 文件  |-- redis-cli # 命令行客戶端操作工具  |-- redis-sentinel -  redis-server `-- redis-server # 服務的啟動程序 

配置環境變量

[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

啟動服務

[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.

# 內存不足的時候,數據加載到磁盤可能失效,可以使用命令解決或修改配置文件

[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 表示用戶空間請求更多內存時,內核嘗試估算出余下可用內存

1 表示內核允許 *** 限度的的使用內存

關閉服務命令

[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 數據庫的簡單介紹以及 redis 持久化數據服務”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注丸趣 TV 網站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-01發表,共計4512字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 忻州市| 龙岩市| 中江县| 什邡市| 新田县| 保靖县| 沂水县| 铜陵市| 海淀区| 白河县| 平潭县| 离岛区| 天等县| 准格尔旗| 土默特左旗| 金川县| 交口县| 宣威市| 中超| 泰和县| 双柏县| 江源县| 宁远县| 化州市| 尼木县| 墨竹工卡县| 广宁县| 鄱阳县| 钦州市| 博爱县| 长泰县| 青阳县| 瓦房店市| 嵊州市| 西城区| 化州市| 葫芦岛市| 普格县| 洛宁县| 浑源县| 盐源县|