Codis是一个开源的分布式redis解决方案,由以下四个组件组成:codis-proxy:后端redis的代理,本事实现了redis协议。codis-config:是codis的管理配置工具,用于..
Codis是一个开源的分布式redis解决方案,由以下四个组件组成:
codis-proxy:后端redis的代理,本事实现了redis协议。
codis-config:是codis的管理配置工具,用于增删redis server、操作数据迁移。
zookeeper:用来存放数据路由表和codis-proxy节点的元信息,codis-config发起的命令都会通过 zookeeper同步到各个存活的codis-proxy。
codis-server:codis项目维护的一个 redis 分支, 基于 2.8.13 开发, 加入了 slot 的支持和原子的数据迁移指令,如果要使用codis的在线扩展迁移功能的话必须使用codis自带的codis-server,codis不支持对原生redis做在线的扩展和数据迁移。
节点规划:
codis-proxy
192.168.0.100:19000
codis-config
192.168.0.100
codis-server1
192.168.0.100:6381
codis-server2192.168.0.100:6382
codis-server3192.168.0.100:6380
codis-server4192.168.0.100:6383
1、安装配置
a、首先安装golang
## 解压下载好的go软件包 $ tar xf/opt/go1.4.2.linux-amd64.tar.gz -C/usr/local/ ## 配置环境变量 在.bash_profile中加入go的相关环境变量,并使新的环境变量生效 PATH=$PATH:$HOME/bin exportGOROOT=/usr/local/go exportGOOS=linux exportGOARCH=amd64 exportGOBIN=$GOROOT/bin exportGOPATH=/opt/mygo PATH=$PATH:$GOBIN export PATH ##编写一个 测试程序验证go是否安装成功 $ cat hello.go package main import"fmt" func main() { fmt.Printf("hello, world\n") } ## 运行测试程序,输出hello,word说明go已经安装成功 $ go run hello.go hello, worldb、安装codis
## 安装工具软件 $ yum install gccmake git -y ## 下载codis,会下载到环境变量GOPATH指定的目录 $ go get github.com/wandoulabs/codis#ssdb-server config packagegithub.com/wandoulabs/codis imports github.com/wandoulabs/codis imports github.com/wandoulabs/codis: nobuildable Go source files in /opt/mygo/src/github.com/wandoulabs/codis ## 下载完成后进入/opt/mygo/src/github.com/wandoulabs/codis $ cd /opt/mygo/src/github.com/wandoulabs/codis ## 执行安装命令 $ ./bootstrap.sh ## 这一步时间稍久,会下载一些文件目录到本地,耐心等待即可c、安装zookeeper
## 解压zookeeper $ tar xfzookeeper-3.4.6.tar.gz -C /opt/ ## 进入zk的安装目录,修改配置文件 $ cd /opt/zookeeper-3.4.6 $ cp conf/zoo_sample.cfgconf/zoo.cfg $ vim conf/zoo.cfg tickTime=2000 initLimit=10 syncLimit=5 dataDir=/data/zookeeper dataLogDir=/opt/zookeeper-3.4.6/logs clientPort=2181 ## 创建所需要的目录 mkdir /data/zookeeper -p mkdir /opt/zookeeper-3.4.6/logs ## 启动zk $ /opt/zookeeper-3.4.6/bin/zkServer.sh start JMX enabled bydefault Using config:/opt/zookeeper-3.4.6/bin/../conf/zoo.cfg Starting zookeeper... STARTED ## 验证是否启动成功,若2181端口被监听,则表示成功 $ netstat-alnut|grep 2181 tcp 0 0 :::2181 :::* LISTENd、配置codis
## codis中配置zk的信息 $ cd /opt/mygo/src/github.com/wandoulabs/codis/sample/ ## 修改config.ini $ vim config.ini zk=localhost:2181 product=codis_proxy proxy_id=proxy_1 net_timeout=5 dashboard_addr=localhost:18087 coordinator=zookeeper2、启动codis
a、
:
b、初始化slots
##进入相关目录 $ cd /opt/mygo/src/github.com/wandoulabs/codis/sample/ ## 执行初始化 $ ../bin/codis-config slot init { "msg": "OK", "ret": 0 }c、启动codis-server
## codis自带有一个启动脚本,会启动两个codis-server,监听端口为6381和6382 [root@mgs02 sample]#./start_redis.sh sleep 3s [6294] 09 Apr 14:28:02.796* Increased maximum number of open files to 10032 (it was originally set to1024). _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 2.8.13 (1e823fd3/1) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in stand alone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6381 | `-._ `._ / _.-' | PID: 6294 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' [6294] 09 Apr14:28:02.814 # Server started, Redis version 2.8.13 [6294] 09 Apr14:28:02.814 # WARNING overcommit_memory is set to 0! Background save may failunder low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to/etc/sysctl.conf and then reboot or run the command 'sysctlvm.overcommit_memory=1' for this to take effect. [6294] 09 Apr14:28:02.814 * The server is now ready to accept connections on port 6381 [6295] 09 Apr14:28:02.795 * Increased maximum number of open files to 10032 (it wasoriginally set to 1024). _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 2.8.13 (1e823fd3/1) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in stand alone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6382 | `-._ `._ / _.-' | PID: 6295 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' [6295] 09 Apr14:28:02.811 # Server started, Redis version 2.8.13 [6295] 09 Apr14:28:02.811 # WARNING overcommit_memory is set to 0! Background save may failunder low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to/etc/sysctl.conf and then reboot or run the command 'sysctlvm.overcommit_memory=1' for this to take effect. [6295] 09 Apr 14:28:02.812 * The server is nowready to accept connections on port 6382
掌握添加MySQL用戶的方法對於數據庫管理員和開發者至關重要,因為它確保數據庫的安全性和訪問控制。 1)使用CREATEUSER命令創建新用戶,2)通過GRANT命令分配權限,3)使用FLUSHPRIVILEGES確保權限生效,4)定期審計和清理用戶賬戶以維護性能和安全。

chosecharforfixed-lengthdata,varcharforvariable-lengthdata,andtextforlargetextfield.1)chariseffity forconsistent-lengthdatalikecodes.2)varcharsuitsvariable-lengthdatalikenames,ballancingflexibilitibility andperformance.3)

在MySQL中處理字符串數據類型和索引的最佳實踐包括:1)選擇合適的字符串類型,如CHAR用於固定長度,VARCHAR用於可變長度,TEXT用於大文本;2)謹慎索引,避免過度索引,針對常用查詢創建索引;3)使用前綴索引和全文索引優化長字符串搜索;4)定期監控和優化索引,保持索引小巧高效。通過這些方法,可以在讀取和寫入性能之間取得平衡,提升數據庫效率。

ToaddauserremotelytoMySQL,followthesesteps:1)ConnecttoMySQLasroot,2)Createanewuserwithremoteaccess,3)Grantnecessaryprivileges,and4)Flushprivileges.BecautiousofsecurityrisksbylimitingprivilegesandaccesstospecificIPs,ensuringstrongpasswords,andmonitori

tostorestringsefliceflicyInmySql,ChooSetherightDataTypeBasedyOrneOrneEds:1)USEcharforFixed-LengthStstringStringStringSlikeCountryCodes.2)UseVarcharforvariable-lengtthslikenames.3)USETEXTCONTENT.3)

選擇MySQL的BLOB和TEXT數據類型時,BLOB適合存儲二進制數據,TEXT適合存儲文本數據。 1)BLOB適用於圖片、音頻等二進制數據,2)TEXT適用於文章、評論等文本數據,選擇時需考慮數據性質和性能優化。

No,youshouldnotusetherootuserinMySQLforyourproduct.Instead,createspecificuserswithlimitedprivilegestoenhancesecurityandperformance:1)Createanewuserwithastrongpassword,2)Grantonlynecessarypermissionstothisuser,3)Regularlyreviewandupdateuserpermissions

mySqlStringDatatAtatPessHouldBechoseBasedondatActarActeristicsAndusecases:1)USEcharforFixed lengthStstringStringStringSlikeCountryCodes.2)usevarcharforvariable-lengtthslikeLikenames.3)usebarnionororvarinyorvarinyorvarybinarydatalgebenedaTalgeextocrabextrapon.4)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。