MRS二次开发(11/27): Redis调用样例
MRS二次开发(11/27): Redis调用样例
一、Redis简介
Redis是一个开源的、基于网络的、高性能key-value内存数据库。弥补了memcached这类key-value存储的不足,在部分场合可以对关系数据库起到很好的补充作用,满足实时的高并发需求。
二、样例背景
Redis的业务操作对象是key,代码样例中所涉及的操作主要包括对String、List、Hash、Set、Sorted Set类型key的存取操作。
样例代码中调用顺序:
Redis集群初始化。
String类型存取。
List类型存取。
Hash类型存取。
Set类型存取。
Sorted Set类型存取。
GEO基本接口使用。
单线程场景中管道的使用。
多线程场景中管道的使用。
字节数据场景中管道的使用。
三、Windows环境样例调用步骤
环境准备,参考第一课
比对时间,与集群时间误差不能超过5分钟
检查 C:\Windows\System32\drivers\etc\hosts文件中是否包含所有集群节点的域名IP映射信息
创建redis集群,若已经存在,则跳过
在IDEA打开样例代码的redis-examples目录,检查SDK配置
默认自动加载依赖,如未加载,则打开后选中pom.xml文件,右键点击“Add As Maven Project”后等待项目自动将依赖下载完毕
从Manager界面下载用户认证凭据后,解压缩获取秘钥文件user.keytab和krb5.conf,将这两个文件放到样例代码的config目录
将客户端解压目录例如/tmp/FusionInsight-Client/FusionInsightCluster1ServicesClientConfig/Redis/FusionInsight-redis-5.0.4.tar.gz/redis/config下所有的配置文件放到样例代码的src\main\resources\config目录下
查看redis集群中的节点名及对应的ip,修改src\main\java\com\huawei\redis\Const.java中集群Redis节点1对应的ip和集群Redis节点2对应的ip
修改src\main\java\com\huawei\redis\demo\RedisTest.java中init()方法中System.setProperty("redis.authentication.jaas", "false")改为System.setProperty("redis.authentication.jaas", "true");修改principal = "holy@" + KerberosUtil.getKrb5DomainRealm()中“holy”为用户自己定义的用户名
右键conf目录,选择“Mark Directory as”-"Resources Root"
在src\main\java\com\huawei\redis\demo\RedisTest.java右键执行Run 启动样例代码
四、Linux环境调试步骤
前提:Linux环境有安装集群客户端
完成Windows环境样例调用步骤
在windows环境中执行打包
检查linux环境时间与集群误差不超过5分钟
检查linux环境的JDK版本为1.8
配置linux环境的/etc/hosts文件
在Linux环境新建目录,例如“/opt/reidstest”,并创建子目录“lib”和“config”
将步骤3所打的jar包以及客户端解压包路径例如“/tmp/FusionInsight-Client/FusionInsightCluster1ServicesClientConfig/Redis/FusionInsight-redis-5.0.4.tar.gz/redis/lib”下所有jar包都上传到步骤7所创建的lib目录下例如“/opt/redistest/lib”
将样例代码中src\main\resources\config下所有的配置文件(包含认证文件)上传到步骤7所创建的config目录下例如“/opt/redistest/config”。
切换到“/opt/redistest”,执行以下命令,运行样例程序。
- java -cp .:lib/* com.huawei.redis.demo.RedisTest
五、问题互动渠道
FusonInsight 论坛入口 https://bbs.huaweicloud.com/forum/forum-1103-1.html
- 点赞
- 收藏
- 关注作者
评论(0)