在本地 mac 系统配置多个 redis 实例

可能我们有时候,需要多个在本地连接多个 redis 服务,因为 redis 不同于 mysql,mysql可以选择连接各种数据表,而且各个表之间的数据文件是独立的,而 redis 虽然有数据库,但多个数据库文件都存储在一起,dump.rdb。
我们想要在本地同时使用多个不同服务器上的数据库,是没办法做到的。
所以必须运行多个 redis 实例

我的开发环境使用的是 mac os,所以以下都是 mac 上的操作,linux 上的操作配置,类似。
好了,开始干货:
	
通过 homebrew 查看 redis 的介绍
	brew info redis

找到配置文件:
	/usr/local/etc/redis.conf

复制配置文件一份,作为以后我们所有新增加实例的 "公共配置文件"
	cp /usr/local/etc/redis.conf /usr/local/etc/redis-common.conf
	参考文章中,使用了:cp /usr/local/etc/redis{,-common}.conf 的简写,学了一招

修改 redis-common.conf 公共配置文件,我们使用 socket 连接,设置 port 0(当然,我们也可以使用 tcp 连接,在各个的配置文件里,设置 port 6380 ...,覆盖公共配置中的 6379)


假设我们想要配置名称为 redis-1 的实例,创建配置文件 
	vim /usr/local/etc/redis-1.conf

输入以下配置项:
	include /usr/local/etc/redis-common.conf		// 引入公共的 redis 配置文件
	pidfile /usr/local/var/run/redis-1.pid 			// pid 文件
	unixsocket /tmp/redis-1.sock 					// socket 文件
	dbfilename dump-1.rdb							// 生成的数据库文件
	# vm-swap-file /tmp/redis-1.swap 				// 注意:这条配置项,在我的环境里不可用!!!

配置启动文件:

	切换到当前登录用户的开机自启动目录 'cd ~/Libray/LaunchAgents/' 可以查看到有一个 redis 的启动配置 'homebrew.mxcl.redis.plist'

	复制,并修改部分的配置项:
		cp ~/Libray/LaunchAgents/homebrew.mxcl.redis.plist ~/Libray/LaunchAgents/homebrew.mxcl.redis-1.plist

		<?xml version="1.0" encoding="UTF-8"?>
		<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
		<plist version="1.0">
		  <dict>
		    <key>KeepAlive</key>
		    <dict>
		      <key>SuccessfulExit</key>
		      <false/>
		    </dict>
		    <key>Label</key>
		    <string>homebrew.mxcl.redis-1</string>
		    <key>ProgramArguments</key>
		    <array>
		      <string>/usr/local/opt/redis/bin/redis-server</string>
		      <string>/usr/local/etc/redis-1.conf</string>
		    </array>
		    <key>RunAtLoad</key>
		    <true/>
		    <key>WorkingDirectory</key>
		    <string>/usr/local/var</string>
		    <key>StandardErrorPath</key>
		    <string>/usr/local/var/log/redis-1.log</string>
		    <key>StandardOutPath</key>
		    <string>/usr/local/var/log/redis-1.log</string>
		  </dict>
		</plist>

	之后我们就可以通过以下命令来启动新配置的 redis 实例:
		launchctl load -w ~/Libray/LaunchAgents/homebrew.mxcl.redis-1.plist

设置命令别名:
	编辑自己的 shell 配置,我使用的是 zsh
		vim ~/.zshrc

	添加:
		alias redis_start="launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.redis-*.plist"
		alias redis_stop="launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.redis-*.plist"

	以后就可以通过 redis_start 来启动我们新配置的 redis 实例,redis_stop 来停止新配置的 redis 实例

配置完成,执行 redis_start,就可以连接我们新配置的redis实例了
	redis-cli -s /tmp/redis-1.sock

查看 redis 数据库 目录,也发现新创建了 dump-1.rdb


参考文章:
	https://jeremy.wordpress.com/2012/07/05/multiple-redis-instances-on-mac-os-x-with-homebrew/

猜你喜欢

转载自blog.csdn.net/beyond__devil/article/details/81109426