redis之单机和主从环境搭建
2024-10-14 15:57:46
单机环境搭建
官网http://redis.io/download下载xxx.tar.gz二进制压缩包,注意下载2.8+版本,2.8之前的版本之前从服务器不支持部分重复制,2.6之前的版本不支持setnx命令
解压安装
#解压
tar -zxvf xxx.tar.gz
#进入目录
cd redisxxxx
#编译安装到/usr/local/redis目录下
sudo make PREFIX=/usr/local/redis install
#从安装包中找到redis的配置文件,拷贝到根目录下
sudo cp redis.conf /usr/local/redis
#启动redis
./redis-server ../redis.conf
主从搭建(同一台机器上搭建伪主从)
思路
一台主服务器,使用默认配置即可,一台从服务器,配置要复制的主服务 SALVEOF host port,如果你熟悉redis配合的话,你会发现默认给的配置文件里一个大项一个大项的分好了
过程
按单机环境安装好redis,注意我这边由于本地环境问题,直接在redis/src目录下启动的
准备两份配置文件redis_6379.conf和redis_6380.conf,修改对应的端口号
redis_6379.conf配置如下
# 修改启动方式为后台启动,此处为学习可以暂不开启,这样可以直接看到启动日志,生产部署也建议调试好后再启动后台方式
daemonize no
修改为:
daemonize yes (后台程序方式运行)
# 修改pid文件名
pidfile /var/run/redis.pid
修改为:
pidfile /var/run/redis_6379.pid
# 如果有密码主从服务器都需要新增相关的auth的配置redis_6380.conf配置如下
# 修改启动方式为后台启动,此处为学习可以暂不开启,这样可以直接看到启动日志,生产部署也建议调试好后再启动后台方式
daemonize no
修改为:
daemonize yes (后台程序方式运行)
# 修改pid文件名
pidfile /var/run/redis.pid
修改为:
pidfile /var/run/redis_6380.pid
# 从节点新增配置复制主机,增加这一行
slaveof 127.0.0.1 6379
# 如果有密码主从服务器都需要新增相关的auth的配置启动,此处是mac环境通过brew安装,直接命令+指定conf方式启动
# 启动主机器
./src/redis-server ../redis_6379.conf
# 启动从服务器
./src/redis-server ../redis_6380.conf测试
#连接到主服务器
redis-cli -h localhost -p 6379
# 查看服务器信息
info
# 测试主从数据是否同步,在主服务器set,在从服务器get
遇到的问题
*** FATAL CONFIG FILE ERROR ***
Reading the configuration file, at line
'always-show-logo yes'
Bad directive or wrong number of arguments遇到这个问题的原因是,我本地的环境是mac,除了上面方式安装的redis 还有个homebrew安装的redis,通过brew info redis 命令可以看到是4.0.1版本的,我启动命令是运行的3.2.8,配置使用的4.0.1的,所以不匹配。
官方redis集群搭建
不建议使用官方提供的redis集群,如果需要支撑大体量和高可用可以考虑codis集群,但是不支持事务等特性
最新文章
- jquery-lazyload延迟加载图片
- C#使用正则表达式检测数字 char 和韩文
- 关于WEB项目的一点想法
- python webdriver 自动化测试练习 1-- 在线调查
- Java for LeetCode 205 Isomorphic Strings
- 将Word发布到CSDN
- POJ 2186 Popular Cows --强连通分量
- goldengate 12c对oracle DB的改进
- 免费GIT托管
- POJ 2420 A Star not a Tree? 爬山算法
- 循环与range
- CNS数据库网站只用mysql自带的fulltext index功能就可实现了。
- url传参后获取参数
- 从零开始学习前端开发 — 7、CSS宽高自适应
- UI前端开发都是做什么的以及html、css、php、js等究竟是神马关系
- 使用 FFT 分析周期性数据
- AI_群组行为
- c#子线程线程中操作窗体更新的报错
- OracleParameter.UdtTypeName的值必须是全大写!
- python中的logger模块详细讲解