docker 下的 redis.cnf
version: "3"
services:
redis:
container_name: rebloom
image: redislabs/rebloom:latest
ports:
- "6379:6379"
volumes:
- ./volumes:/data # /usr/local/redis/data 是你宿主机的路径;/data 是容器内的路径,容器内的 redis 会把需要持久化的数据都保存到 /data 目录下
- ./redis.conf:/etc/redis/redis.conf # redis.conf 这个文件已经准备好了,可以放到这个路径,也可以自己修改,比如放到项目路径中
restart: always
# 这个文件的地址,和你的 docker-compose.yaml 中的 /usr/local/redis/redis.conf:/etc/redis/redis.conf 冒号左边的要对应起来
# redis 支持两者持久化机制:RDB&AOF
# https://juejin.cn/post/6844903716290576392
appendonly yes
#default: 持久化文件
appendfilename "appendonly.aof"
#default: 每秒同步一次
appendfsync everysec
port 6379
# 绑定端口,不指定外网可能连不上服务器
bind 0.0.0.0
复刻到 k8s 中却跑不通,会报错
解决办法:
apiVersion: v1
kind: ConfigMap
metadata:
name: crawler-bloom-redis-config
namespace: xxxxx
data:
redis-config: |
maxmemory 100mb
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
loadmodule "/usr/lib/redis/modules/redisbloom.so"
加入 loadmodule "/usr/lib/redis/modules/redisbloom.so"
即可,至于为什么 docker 下不用加,k8s 中却要加,我就不知道了。知道的人可以贴到评论区
因为 docker 的启动命令是: docker-entrypoint.sh redis-server --loadmodule /usr/lib/redis/modules/redisbloom.so
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。