lua连接redis集群

连接redis集群需要用到llua-resty-redis-cluster模块

github地址:https://github.com/cuiweixie/lua-resty-redis-cluster

下载完成后,只需要用到包中2个文件rediscluster.luaredis_slot.c

.c文件无法在nginx配置文件中引入,需要编译成.so文件,编译命令:  gcc SOURCE_FILES -fPIC -shared -o TARGET

如下则是连接redis集群代码:

local config = {
                name = "test",
                serv_list = {
                    {ip="127.0.0.1", port = 3100},
                    {ip="127.0.0.1", port = 3101},
                    {ip="127.0.0.1", port = 3102},
                    {ip="127.0.0.1", port = 3200},
                    {ip="127.0.0.1", port = 3201},
                    {ip="127.0.0.1", port = 3202},
                },
            }
            local redis_cluster = require "resty.rediscluster"
            local red = redis_cluster:new(config)
            for i = 1, 2 do
                red:init_pipeline()
                red:set("dog", "an animal")
                red:get("dog")
                red:set("dog", "hello")
                red:get("dog")
                local results = red:commit_pipeline()
                local cjson = require "cjson"
                ngx.say(cjson.encode(results))
            end
            red:close()
时间: 2024-10-16 22:00:46

lua连接redis集群的相关文章

通过jedis连接redis单机成功,使用redis客户端可以连接集群,但使用JedisCluster连接redis集群一直报Could not get a resource from the pool

一,问题描述: (如题目)通过jedis连接redis单机成功,使用JedisCluster连接redis集群一直报Could not get a resource from the pool 但是使用redis客户端可以连接集群(我使用的redis desktop manager) 在java中通过jedis连接redis单机也成功,但使用JedisCluster连接redis集群一直报Could not get a resource from the pool, 我以命令行方式操作是没问题的

java 连接 redis集群时报错:Could not get a resource from the pool

由于弄这个的时候浪费了太多的时间,所以才记录下这个错,给大伙参考下 检查了一下,配置啥的都没问题的,但在redis集群机器上就可以,错误如下: Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool 原因: 是因为我在创集群的时候的ip地址是:127.0.0.1,不是本机的电脑访问的话是不能访问的,

java连接redis集群

http://m.blog.csdn.net/koushr/article/details/50956870 连接redis数据库(非集群模式) public static void main(String[] args) { JedisPoolConfig poolConfig = new JedisPoolConfig(); // 最大连接数 poolConfig.setMaxTotal(2); // 最大空闲数 poolConfig.setMaxIdle(2); // 最大允许等待时间,如

springdataRedis连接redis集群

配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/sch

spring boot JedisCluster连接redis集群配置

配置文件 配置类 构造的时候, 可以看一下, 只有Set<HostAndPort> 参数是必须的 做了一层封装, 更方便使用 结果 原文地址:https://www.cnblogs.com/-xuzhankun/p/9648294.html

python连接redis,redis集群

python连接redis: import redis r = redis.Redis(host='192.168.50.181',port=6002) r.set('user_phone_14900000001','888888') r.get('user_phone_14900000001') 上面代码如果只执行一条数据是正常的,如果要用for循环批量更改数据连接redis集群,会报错redis.exceptions.ResponseError() 解决方案如下: python连接redis

Redis集群搭建案例

版本及系统说明 系统:CentOS 6.8 64X Redis版本:redis-3.2.5 集群说明: 总共6个节点 3个Master节点,分别为7000.8000.9000. 3个Slave节点,分别为7001.8001.9001. 安装Redis # wget http://download.redis.io/releases/redis-3.2.5.tar.gz # yum -y install gcc tcl # mkdir /usr/local/redis # tar xvf redi

sentinel搭建redis集群经验总结

一.protected-mode默认情况下,redis node和sentinel的protected-mode都是yes,在搭建集群时,若想从远程连接redis集群,需要将redis node和sentinel的protected-mode修改为no,若只修改redis node,从远程连接sentinel后,依然是无法正常使用的,且sentinel的配置文件中没有protected-mode配置项,需要手工添加.依据redis文档的说明,若protected-mode设置为no后,需要增加密

Java操作 Redis 集群

// 连接redis集群 @Test public void testJedisCluster() { JedisPoolConfig config = new JedisPoolConfig(); // 最大连接数 config.setMaxTotal(30); // 最大连接空闲数 config.setMaxIdle(2); //集群结点 Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>(); jedisC