暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何连接ACL认证的Redis

数据库干货铺 2024-02-23
157
点击上方蓝字关注我

应用程序连接开启了ACL认证的Redis时与原先的方式有差别,本文介绍几种连接开启ACL认证的Redis的Redis的方法。

对于RedisACL认证相关内容,可以参考历史文章:

Redis权限管理体系(一):客户端名及用户名

Redis权限管理体系(二):终于等来了Redis权限控制体系ACL

Redis权限管理体系(三):ACL 配置持久化

1. Python 程序

如果你想使用python通过用户名密码连接开启ACL的Redis,你可以参考以下的方法:
首先,需要安装redis-py库,这是一个python的Redis客户端,可以方便地操作Redis。可以使用pip或者conda来安装redis-py库。

其次,需要创建一个Redis对象,用来连接Redis服务器。可以使用Redis的构造函数来指定host,port,username和password。
例如,Redis服务器的地址是localhost,端口是6379,用户名是admin,密码是123456,对应连接方式如下:

    import redis
    r = redis.Redis(host='localhost', port=6379, username='admin', password='123456')
    r.set('test1','1111')
    v=r.get('test1')
    print(v)
    复制

    运行结果如下:


    2.  java程序

    2.1 jedis

    如果使用的是java程序,且通过jedis连接Redis6,可以参考以下的方法:

    •  首先,需要引入jedis的依赖包,jedis是一个java的Redis客户端,可以方便地操作Redis。可以从这里https://blog.csdn.net/H1455483319/article/details/109036679下载jedis.jar,或者使用maven或gradle来管理你的依赖。
    •  其次,需要创建一个Jedis对象,用来连接Redis服务器。可以使用Jedis的构造函数来指定host,port,user和password。例如,Redis服务器的地址是localhost,端口是6379,用户名是admin,密码是123456,可以这样创建Jedis对象:

      Jedis jedis = new Jedis("localhost", 6379, "admin", "123456");
      复制


      •  最后,就可以使用jedis对象来执行各种Redis命令,比如set,get,lpush等。你可以参考jedis的官方文档https://www.runoob.com/redis/redis-java.html来了解更多的用法。

      2.2 lettuce
      如果你想使用Lettuce处理,可以参考以下的方法:

      • 首先,你需要创建一个RedisURI对象,用来指定连接的地址,端口,数据库,用户和密码。你可以使用RedisURI的静态方法create来从一个URI字符串创建一个RedisURI对象。例如,如果你的Redis服务器的地址是localhost,端口是6379,数据库是0,用户名是admin,密码是123456,你可以这样创建RedisURI对象:

          RedisURI redisURI = RedisURI.create("redis://admin:123456@localhost:6379/0");
          复制
        • 然后,需要创建一个RedisClient对象,用来创建和管理Redis连接。可以使用RedisClient的静态方法create来从一个RedisURI对象创建一个RedisClient对象。

          RedisClient redisClient = RedisClient.create(redisURI);
          复制
          • 从RedisClient对象获取一个StatefulRedisConnection对象,用来执行Redis命令。可以使用RedisClient的connect方法来获取一个StatefulRedisConnection对象。

            StatefulRedisConnection<String, String> connection = redisClient.connect();
            复制
            • 完成后就可以使用connection对象来执行各种Redis命令,比如set,get,lpush等。参考Lettuce的官方文档https://github.com/lettuce-io/lettuce-core/wiki/Redis-URI-and-connection-details 可以了解更多的用法。

            往期精彩回顾

            1.  MySQL高可用之MHA集群部署

            2.  mysql8.0新增用户及加密规则修改的那些事

            3.  比hive快10倍的大数据查询利器-- presto

            4.  监控利器出鞘:Prometheus+Grafana监控MySQL、Redis数据库

            5.  PostgreSQL主从复制--物理复制

            6.  MySQL传统点位复制在线转为GTID模式复制

            7.  MySQL敏感数据加密及解密

            8.  MySQL数据备份及还原(一)

            9.  MySQL数据备份及还原(二)

            扫码关注     

            文章转载自数据库干货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论