redis 的 redisbloom 想要修改兼容的端口为非 6379 但无效?
docker-compose.yaml
version: "3"services: redis: container_name: rebloom2 restart: always image: redislabs/rebloom:2.6.12 ports: - "6377:6377" volumes: - ./volumes:/data # /usr/local/redis/data 是你宿主机的路径;/data 是容器内的路径,容器内的 redis 会把需要持久化的数据都保存到 /data 目录下 - ./redis.conf:/etc/redis/redis.conf # redis.conf 这个文件已经准备好了,可以放到这个路径,也可以自己修改,比如放到项目路径中
# 这个文件的地址,和你的 docker-compose.yaml 中的 /usr/local/redis/redis.conf:/etc/redis/redis.conf 冒号左边的要对应起来# redis 支持两者持久化机制:RDB&AOF# https://juejin.cn/post/6844903716290576392appendonly yes#default: 持久化文件appendfilename "appendonly.aof"#default: 每秒同步一次appendfsync everysecport 6377# 绑定端口,不指定外网可能连不上服务器bind 0.0.0.0# maxmemory 100mb# appendonly yes# appendfilename "appendonly.aof"# appendfsync everysec
我把默认端口改成 6377 之后,客户端连不上
╭─pon@T4GPU ~╰─➤ iredis -h 127.0.0.1 -p 6377Error while reading from 127.0.0.1:6377 : (104, 'Connection reset by peer') retrying... retry left: 2Error while reading from 127.0.0.1:6377 : (104, 'Connection reset by peer') retrying... retry left: 1iredis 1.13.2 (Python 3.10.12)redis-server Unknown (Error while reading from 127.0.0.1:6377 : (104, 'Connection reset by peer'))Home: https://iredis.ioIssues: https://iredis.io/issues127.0.0.1:6377> exit
但是把 redis 的端口改成还是保留 6379,只是把 docker 映射端口改成 6377:6379
,客户端就可以连接成功!
如果 redisbloom 要如何修改 redis.conf 来修改兼容的端口?和标准的 redis 不一样?
标准的 redis 这样修改成 6377 是可以的
启动服务后 进入容器
docker exec -it rebloom2 /bin/bash
查看端口是否生效
apt-get install net-tools netstat -aon |grep 6377 (空) netstat -aon |grep 6379 (有值)
查看 https://github.com/RedisBloom/RedisBloom/blob/master/Dockerfile 默认 redis-server 不带配置
CMD ["redis-server", "--loadmodule", "/usr/lib/redis/modules/redisbloom.so"]
docker-compose.yaml 增加 command(最后一行)
version: "3"services:redis: container_name: rebloom2 restart: always image: redislabs/rebloom:2.6.12 ports: - "6377:6377" volumes: - ./volumes:/data # /usr/local/redis/data 是你宿主机的路径;/data 是容器内的路径,容器内的 redis 会把需要持久化的数据都保存到 /data 目录下 - ./redis.conf:/etc/redis/redis.conf # redis.conf 这个文件已经准备好了,可以放到这个路径,也可以自己修改,比如放到项目路径中 command: redis-server /etc/redis/redis.conf --loadmodule /usr/lib/redis/modules/redisbloom.so
你的 docker-compose.yaml
文件和 redis.conf
配置看起来是正确的。理论上,你应该能够将 Redis(包括 RedisBloom)的端口更改为任何你想要的值,只要确保在 docker-compose.yaml
和 redis.conf
中都进行了相应的更改,并且确保客户端连接时使用的是新的端口。
关于你遇到的问题,这里有几个可能的原因和解决方案:
redis.conf
文件。你可以在启动容器时添加一些日志或检查容器的文件系统,以确认配置文件是否已正确加载。iredis
)支持你想要连接的 Redis 版本,并且正确配置了连接参数(主机和端口)。为了进一步调试,你可以尝试以下步骤:
docker logs
命令查看容器的日志,看看是否有任何错误或警告。docker exec
命令进入容器,检查配置文件是否位于正确的位置,并且是否被正确读取。redis-cli
)连接到 Redis,看看是否能成功连接。如果以上步骤都不能解决问题,那么可能需要更深入地调查你的环境和配置设置。
我在EC2上有两个服务器。一个托管我的php应用程序,另一个托管我的redis服务器。我在redis服务器上管理我的php会话和数据。因此,在我的php服务器上,我将ip:port作为会话保存路径,并在stderr中收到了错误FastCGI:“php消息:php致命错误:未捕获异常‘redisception’,消息‘Connection closed’” 我需要在我的redis实例上为入站流量打开
我在AWS ec2实例上设置了一个redis服务器,如下所示https://medium.com/@andrewcbass/install-redis-v3-2-on-aws-ec2-instance-93259d40a3ce 我正在另一个ec2实例上运行python脚本 在redis服务器的安全组中,我允许端口6379上的入站流量 运行上述脚本时,我遇到以下错误: 我已经尝试过更改conf文件中
pika当前支持的redis接口 pika支持redis五种类型(分别为string、hash、list、set、zset)的接口,先列出其对redis的五种数据结构兼容统计。 统计所用的标记含义如下: 图标 含义 o 该接口完全支持,使用方式与redis没有任何区别 ! 功能支持,但使用或输出与redis有部分差异,需注意 × 当前还未支持 Keys 接口 DEL DUMP EXISTS EXP
本文向大家介绍React为什么不要直接修改state?如果想修改怎么做?相关面试题,主要包含被问及React为什么不要直接修改state?如果想修改怎么做?时的应答技巧和注意事项,需要的朋友参考一下 不能直接修改state,组件修改state,并不会重新触发render. state的更新是异步的,调用setState时,组件state并不会立即改变,只是把要修改的状态放入事件队列当中. this
默认情况下,Tomcat配置的默认端口是8080。这就是为什么所有已部署的Web应用程序都可以通过URL访问的原因:http://localhost:8080/yourapp。如果希望应该在80端口上运行,则需要将默认端口8080更改为80,这是HTTP连接器的默认端口。 要更改此端口,请打开并找到以下内容: 更改为以下内容: 修改后,您可以使用"http://localhost/"来访问您的应用
问题内容: 我正在尝试建立一个实现和的类。这两个接口都定义了方法,但是返回类型不同: K的类型擦除导致这两个方法签名冲突。我不能拥有它们中的一个,因为它是一个无效的覆盖,并且我不能拥有两个,因为它们具有相同的签名。有什么方法可以使这两个接口共存? 问题答案: 我认为在这种特殊情况下是不可能的。如果两个类都返回了对象类型,那么您将有机会,但是由于您混合了基本类型和对象类型,因此没有兼容的类型同时支持