redis群集簡單部署過程
redis介紹
Redis 是一個(gè)開源的高性能鍵值存儲(chǔ)系統(tǒng),廣泛應(yīng)用于企業(yè)級應(yīng)用中。它支持多種數(shù)據(jù)結(jié)構(gòu),包括字符串、列表、哈希表和集合(set)。Redis 提供了豐富的 API,包括客戶端 SDK 和命令行工具。
1. 基本概念
- **Redis** 是一個(gè)鍵值存儲(chǔ)系統(tǒng)。
- **字符串**:用于存儲(chǔ)簡單的文本數(shù)據(jù)。
- **列表**:用于存儲(chǔ)有序的無序集合(如哈希表)。
- **哈希表**:用于存儲(chǔ)鍵值對,每個(gè)鍵對應(yīng)一組值。
- **集合**:用于存儲(chǔ)唯一標(biāo)識符的集合。
2. 服務(wù)器端
Redis 的服務(wù)器端通常由多個(gè)進(jìn)程組成。以下是 Redis 的主進(jìn)程和從進(jìn)程的一些關(guān)鍵部分:
主進(jìn)程
- `redis-server`:主進(jìn)程負(fù)責(zé)啟動(dòng)和管理 Redis 服務(wù)器。
- `redis-cli`:用于與 Redis 進(jìn)行交互的命令行客戶端。
- `sysstat`:監(jiān)控 Redis 服務(wù)器的各種性能指標(biāo)。
從進(jìn)程
- `redis-cli`:從進(jìn)程負(fù)責(zé)連接到 Redis 服務(wù)器并執(zhí)行命令。
- `client`:發(fā)送命令給 Redis 主進(jìn)程,并獲取響應(yīng)。
- `exec`:通過管道將命令轉(zhuǎn)發(fā)給 Redis 主進(jìn)程,從而實(shí)現(xiàn)異步 I/O
3. 存儲(chǔ)和獲取數(shù)據(jù)
儲(chǔ)存
Redis 支持多種存儲(chǔ)類型,包括字符串、列表、哈希表和集合。以下是一些常用的數(shù)據(jù)操作:
- **set**:設(shè)置鍵的值,并返回一個(gè)標(biāo)志。
- **get**:從鍵中獲取值,返回空值或錯(cuò)誤信息。
- **append**:將數(shù)據(jù)追加到字符串的末尾。
- **delete**:刪除鍵。
- **exists**:檢查鍵是否存在。
獲取
Redis 支持多種查詢類型,包括列表、哈希表和集合。以下是一些常用的數(shù)據(jù)查詢操作:
- **lrange**:獲取列表中指定區(qū)間的元素。
- **hgetall**:獲取哈希表中的所有鍵值對。
- **scard**:統(tǒng)計(jì)哈希表中的鍵數(shù)量。
- **zcard**:統(tǒng)計(jì)集合中的元素?cái)?shù)量。
4. 協(xié)議和命令
Redis 支持多種協(xié)議,包括 Redis 2.0 和之前的版本。以下是一些常用的命令:
- `SET`:設(shè)置鍵的值并返回一個(gè)標(biāo)志。
- `GET`:從鍵中獲取值,返回空值或錯(cuò)誤信息。
- `APPEND`:將數(shù)據(jù)追加到字符串的末尾。
- `DELETE`:刪除鍵。
- `EXISTS`:檢查鍵是否存在。
- `LPUSH`:向列表末尾添加元素。
- `RPUSH`:向列表頭部添加元素。
- `LPOP`:從列表中移除并返回第一個(gè)元素。
- `RPOP`:從列表頭部移除并返回第一個(gè)元素。
- `SADD`:將值加入集合。
- `SMEMBERS`:獲取集合中的所有鍵。
- `SCARD`:統(tǒng)計(jì)集合中的鍵數(shù)量。
- `ZADD`:向集合中添加一個(gè)或多個(gè)元素。
5. 高可用性
Redis 支持多種高可用性方案,包括主從復(fù)制、HAProxy 和 Redis Sentinel。以下是一些常見的高可用性配置:
- **主從復(fù)制**:確保多個(gè)服務(wù)器之間可以同時(shí)訪問數(shù)據(jù)庫。
- **HAProxy**:一個(gè)高性能的反向代理,允許負(fù)載均衡和故障轉(zhuǎn)移。
- **Redis Sentinel**:提供高可用性的服務(wù),包括哨兵、集群管理器和監(jiān)控功能。
6. 緩存
Redis 支持多種緩存機(jī)制,如 Redis Cache、Redis Memcached 和 Redis Memcached Server。以下是一些常見的緩存配置:
- **Redis Cache**:用于存儲(chǔ)和獲取緩存中的數(shù)據(jù)。
- **Redis Memcached**:一個(gè)高性能的內(nèi)存緩存。
- **Redis Memcached Server**:一個(gè)高性能的內(nèi)存緩存服務(wù)器。
7. 監(jiān)控和日志
Redis 提供了多種監(jiān)控和日志功能,包括 Redis Sentinels、Redis Dashboard、Redis Slaves 和 Redis Cluster。以下是一些常見
的監(jiān)控配置:
- **Redis Cache**:用于存儲(chǔ)和獲取緩存中的數(shù)據(jù)。
- **Redis Memcached**:一個(gè)高性能的內(nèi)存緩存。
- **Redis Memcached Server**:一個(gè)高性能的內(nèi)存緩存服務(wù)器。
前提準(zhǔn)備:
1. 準(zhǔn)備6臺(tái)centos7,全部安裝redis
192.168.180.100
192.168.180.110
192.168.180.120
192.168.180.130
192.168.180.140
192.168.180.150
2. 關(guān)閉所有防火墻
systemctl stop firewalld && setenforce 0
3. 全部安裝前置組件
yum install -y gcc gcc-c++ make
正式部署步驟-六臺(tái)全部部署
1. 上傳軟件包并解壓安裝
軟件包可以在我主頁資源內(nèi)尋找,我已上傳??
#解壓 tar zxvf redis-3.2.9.tar.gz -C /usr/src/ #安裝 cd /usr/src/redis-3.2.9/ make && make install cd /usr/src/redis-3.2.9/utils/ ./install_server.sh #查看是否啟動(dòng) netstat -antp | grep redis
2. 配置參數(shù)
vim /etc/redis/6379.conf #修改以下參數(shù) bind 0.0.0.0 cluster-enabled yes cluster-config-file nodes-6379.conf cluster-node-timeout 15000 cluster-require-full-coverage no
3. 重啟服務(wù)
/etc/init.d/redis_6379 restart netstat -antp | grep 6379
在第一臺(tái)192.168.180.100上配置腳本創(chuàng)建群集
1. 下載并查看
yum install ruby rubygems -y gem install redis --version 3.2.0
2. 創(chuàng)建群集
cd /usr/src/redis-3.2.9/src/ ./redis-trib.rb create --replicas 1 192.168.180.100:6379 192.168.180.110:6379 192.168.180.120:6379 192.168.180.130:6379 192.168.180.140:6379 192.168.180.150:6379 遇到要輸入yes的就輸入yes
3. 查看群集狀態(tài)
./redis-trib.rb check 192.168.180.100:6379
4. 測試群集
redis-cli -h 192.168.180.140 -p 6379 -c #插入數(shù)值 set centos 7.3 #查詢數(shù)值 get centos
到此這篇關(guān)于redis群集-簡單部署的文章就介紹到這了,更多相關(guān)redis群集部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳談redis優(yōu)化配置和redis.conf說明(推薦)
下面小編就為大家?guī)硪黄斦剅edis優(yōu)化配置和redis.conf說明(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03Redis中LRU算法和LFU算法的區(qū)別小結(jié)
在Redis中,LRU算法和LFU算法是兩種常用的緩存淘汰算法,它們可以幫助我們優(yōu)化緩存性能,本文主要介紹了Redis中LRU算法和LFU算法的區(qū)別,感興趣的可以了解一下2023-12-12Redis與數(shù)據(jù)庫數(shù)據(jù)一致性的原因及解決方案
Redis作為一種高效的鍵值對存儲(chǔ)系統(tǒng),常用于緩存數(shù)據(jù)庫減少IO操作,下面這篇文章主要介紹了Redis與數(shù)據(jù)庫數(shù)據(jù)一致性的原因及解決方案,文中介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04基于Redis實(shí)現(xiàn)API接口訪問次數(shù)限制
日常開發(fā)中會(huì)有一個(gè)常見的需求,需要限制接口在單位時(shí)間內(nèi)的訪問次數(shù),比如說某個(gè)免費(fèi)的接口限制單個(gè)IP一分鐘內(nèi)只能訪問5次,該怎么實(shí)現(xiàn)呢,本文小編給大家介紹了如何基于Redis實(shí)現(xiàn)API接口訪問次數(shù)限制,需要的朋友可以參考下2024-11-11Redis GEO實(shí)現(xiàn)搜索附近用戶的項(xiàng)目實(shí)踐
RedisGEO主要用于存儲(chǔ)地理位置信息,并對存儲(chǔ)的信息進(jìn)行操作,本文主要介紹了Redis GEO實(shí)現(xiàn)搜索附近用戶的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05Redis做預(yù)定庫存緩存功能設(shè)計(jì)使用
這篇文章主要為大家介紹了Redis做預(yù)定庫存緩存功能設(shè)計(jì)使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04