custom-redis предоставляет различные способы доступа к redis. Конкретные способы использования описаны ниже:
Зависимость от конфигурационного файла:
Использование кода:
CustomRedisFactory f = CustomRedisFactory.getInstance();
ICustomRedis redis1 = f.getCustomRedisByAppId("cloudyCart","");
redis1.set("key1", "value001");
Конфигурационный файл custom-redis.xml содержит следующие пояснения:
Файл конфигурации состоит из трёх частей:
<appnode></appnode>
— настройка кластера redis для каждого приложения. В одном конфигурационном файле можно настроить несколько приложений, а для одного приложения можно настроить несколько узлов кластера. Подробнее см. ниже.<clusternode></clusternode>
— конфигурация отдельных кластеров, каждый из которых может быть настроен с использованием различных типов узлов redis.<servernode></servernode>
— конфигурация всех необходимых узлов redis, включая конфигурацию каждого узла.Пример конфигурационного файла:
<?xml version="1.0" encoding="UTF-8"?>
<redisrouting>
<appnode>
<!—- appnode下配置多个应用 -->
<anode>
<!—- id=应用名对应示例java代码中的cloudyCart -->
<id>cloudyCart</id>
<!-- clusternodes 配置多个cluster,多个用竖线分割 -->
<clusternodes>cluster1|cluster2|cluster3</clusternodes>
<!—- dispatch 暂时无意义-->
<dispatch>ROUTING</dispatch>
<!-- TRAILNUMBER尾号 ONLY只读第一个 HASH一致性哈希算法-->
<clusterstrategy>TRAILNUMBER</clusterstrategy>
<!-- 是否监控 默认为false 只有=true monitorinterval才有效 -->
<ismonitor>true</ismonitor>
<!-- 监控间隔毫秒 -->
<monitorinterval>2000</monitorinterval>
</anode>
<!—- 第二个应用配置-->
<anode>
<id>degrade</id>
<!-- 多个cluster必须用竖线分割,cluster1对应clusternode中配置的id -->
<clusternodes>cluster1</clusternodes>
<dispatch>ROUTING</dispatch>
<clusterstrategy>ONLY</clusterstrategy>
<!-- 是否监控 默认为false 只有=true monitorinterval才有效 -->
<ismonitor>true</ismonitor>
<!-- 间隔毫秒 -->
<monitorinterval>10000</monitorinterval>
</anode>
<!—- 第三个应用配置-->
<anode>
<id>other</id>
<clusternodes>cluster4</clusternodes>
<dispatch>ROUTING</dispatch>
<clusterstrategy>ONLY</clusterstrategy>
<ismonitor>true</ismonitor>
<monitorinterval>10000</monitorinterval>
</anode>
</appnode>
<!—- redis cluster配置 -->
<clusternode>
<cnode>
<id>cluster1</id>
<readstrategy>HASHREAD</readstrategy>
<readservernodes>snode1</readservernodes>
<writerstrategy>MUTIWRITE</writerstrategy>
<writeservernodes>snode1</writeservernodes>
<!-- 该节点对应的尾号,当appnode->anode->clusterstrategy=TRAILNUMBER时才有效 -->
<trailnumber>0-33</trailnumber>
</cnode>
<cnode>
<id>cluster2</id>
<!-- 读策略 目前支持 HASHREAD RANDOM-->
<readstrategy>HASHREAD</readstrategy>
<readservernodes>snode2</readservernodes>
<!-- 写策略,写必须是多写 -->
<writerstrategy>MUTIWRITE</writerstrategy>
<writeservernodes>snode2</writeservernodes>
<trailnumber>34-66</trailnumber>
</cnode>
<cnode>
<id>cluster3</id>
<!-- 读策略 目前支持 HASHREAD RANDOM-->
<readstrategy>HASHREAD</readstrategy>
<readservernodes>snode3</readservernodes>
<!-- 写策略,写必须是多写 -->
<writerstrategy>MUTIWRITE</writerstrategy>
<writeservernodes>snode3</writeservernodes>
<trailnumber>67-99</trailnumber>
</cnode>
<cnode>
<id>cluster4</id>
<!-- 读策略 目前支持 HASHREAD RANDOM-->
<readstrategy>HASHREAD</readstrategy>
<readservernodes>snode4</readservernodes>
<!-- 写策略,写必须是多写 -->
<writerstrategy>MUTIWRITE</writerstrategy>
<writeservernodes>snode4</writeservernodes>
</cnode>
</clusternode>
<!-- servernode 对应每一台需要用到的redis服务器 -->
<servernode>
<node>
<id>snode1</id>
<maxActive>200</maxActive><!-- 最大的活动连接 -->
<maxIdle>100</maxIdle><!-- 最大的空闲连接 -->
<maxWait>1000</maxWait><!-- 最大的等待时间 -->
<host>10.1.200.77</host><port>6379</port><!--Ip地址和端口 -->
</node>
<node>
<id>snode2</id>
<maxActive>200</maxActive>
<maxIdle>100</maxIdle>
<maxWait>1000</maxWait>
<host>10.1.200.78</host><port>6379</port>
</node>
<node>
<id>snode3</id>
<maxActive>200</maxActive>
<maxIdle>100</maxIdle>
<maxWait>1000</maxWait>
<host>10.1.200.84</host><port>6379</port>
</node>
<node>
<id>snode4</id>
<maxActive>200</maxActive>
<maxIdle>100</maxIdle>
<maxWait>1000</maxWait>
<host>10.1.200.188</host><port>6379</port>
</node>
</servernode>
<!-- redis节点 配置结束 -->
</redisrouting>
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )