macOS install redis遇到的bug(tar包,homebrew安装,守护进程redis.conf配置)

官网下载tar包再make install

首先是sudo make test的时候一直报

The following tests failed:

*** err: trim on SET with big value in tests/unit/type/string.tcl Expected r memory usage key < 42000 (context: type source line 478

file /usr/local/redis-7.0.12/tests/unit/type/string.tcl cmd {assert

{r memory usage key < 42000}} proc ::test)

解决方法:

因为r set key和Mac m1芯片的内存配置不同,引用掉这段test
https://blog.csdn.net/sun_kingngfyncfh/article/details/130744756
https://github.com/redis/redis/pull/11878/files/859dd6c8e91599d8cf013ff1b7758f308dbfcfc4

这个可以成功make test之后,sudo make 和make install又开始报warning

/bin/sh:1:pkg-config: not found

解决方案:

莫名其妙,但还是试着去安装了python tcl tk的包,useles,但看到有人说出现这个也不影响,之后确实可以make install。

但会一直重复提示Hint: It's a good idea to run 'make test' 😉

解决方案:run make distclean

and again sudo make install

偶尔可以,但还是没有装上,放弃make安装了

brew install

后来看到官网给macos的安装方法:
https://redis.io/docs/getting-started/installation/install-redis-on-mac-os/

很简单的傻瓜式安装😢,想不明白折腾着包安装图啥,谢谢homebrew

配置redis.conf守护进程

homebrew安装完之后,在哪里找conf配置文件呢?

brew list redis

会先找到redis相关文件的位置

安装路径一般在 /usr/local/Cellar/redis/{version}或者/opt/homebrew/Cellar/redis/7.0.12/bin/里有redis-server

cd /opt/homebrew/Cellar/redis/7.0.12/bin/

open ./

发现没有conf文件,接着打开

cat homebrew.mxcl.redis.plist

发现有

找到啦!

cd /opt/homebrew/etc/

cp redis.conf /opt/homebrew/Cellar/redis/7.0.12/bin/

没有直接修改而是拷贝了以防修改错误,接着修改conf文件变成守护进程

vim redis.conf

daemonizeno改为yes

daemonize yes

默认绑定的是回环地址,默认不能被其他机器访问

bind 0.0.0.0

是否开启保护模式,由yes该为no

protected-mode no
./redis-server redis.conf

运行守护进程

Warning: Could not create server TCP listening socket *:6379: bind: Address already in use 11637:M 03 Aug 2023 09:52:54.996 # Failed listening on port 6379 (TCP), aborting.

跑完守护进程的redis server之后再跑redis-server开始报already used socket

java 复制代码
ps -ef | grep redis

看下后台在跑的端口进程,发现0.0.0.0还有redis server在跑。没有关闭。

kill -9 {进程号}

kill掉就好了

https://blog.csdn.net/qq_43833393/article/details/127889619

解释:

因为前端启动的redis server会在每次terminal或者ctrl c关闭后,就停止,我们采用守护进程就是希望可以后端持续运行,但是./redis-cli shutdown按理说可以直接关闭后段进程不需要kill,但不知道为啥还在跑。

相关推荐
安且惜1 小时前
Windows或mac支持本地抓包
windows·macos
福大大架构师每日一题7 小时前
Redis 8.10.0 正式发布:紧凑哈希、批量导入、备份恢复、流与时序能力全面升级
数据库·redis·哈希算法
祈禾8 小时前
Redis三大特殊数据类型
运维·服务器·数据库·redis·笔记·缓存
孙启超9 小时前
【AI应用开发】什么是混合检索(Hybrid Search)?向量检索 + BM25 关键词检索,适用场景与 RRF 融合原理
人工智能·缓存·llm·向量数据库·bm25·向量化·ai应用开发
y = xⁿ9 小时前
一文掌握Redis常见八股
数据库·redis·缓存
深念Y10 小时前
AMD 芯片组驱动触发高频 SSD 写入的问题及解决方案
windows·bug·ssd·日志·芯片·驱动·amd
做萤石二次开发的哈哈10 小时前
开发者如何调用 ERTC iOS API 完成 SDK 初始化配置?
macos·objective-c·cocoa
码云骑士11 小时前
101-向量数据库性能调优-100QPS到10000QPS-索引-缓存-分区压测
数据库·python·缓存
AUV110712 小时前
Mac 录屏自动缩放怎么设置才不乱跳:自动片段、固定区域与鼠标跟随调试
macos·计算机外设
加油码13 小时前
探秘 volatile关键字:编译器的过度优化
linux·bug·信号处理