Как получить значение ключа в кластере redis с помощью клиента redisson

Я пытаюсь получить значение ключа в кластере Redis с помощью клиента Redisson.

Config config = new Config();
        config.useClusterServers()      
    .addNodeAddress("redis://localhost:6380","redis://localhost:6379","redis://localhost:6381");

        RedissonClient redisson = Redisson.create(config);

        RMapCache<String, String> map = redisson.getMapCache("db0");

        System.out.println("Key value  is :  "+map.get("key"));

Я получил db0 в качестве пространства клавиш из этого результата команды

ИНФО пространство клавиш

DB0: ключи =1, истекает =0,avg_ttl=0

но результат таков:

Значение ключа: ноль

2 ответа

В кластере Redis всегда есть одно пространство клавиш, и его нельзя переключить или получить доступ через db0 название. db0:keys=1 означает, что у вас уже есть один ключ с db0 в твоем случае.

Я предлагаю этот код для подключения к Redis (кластеру или простому серверу) и получения существующего ключа простого значения:

      package org.example;

import org.redisson.Redisson;
import org.redisson.api.RBucket;
import org.redisson.api.RedissonClient;
import org.redisson.client.codec.StringCodec;
import org.redisson.config.Config;

public class Main {
    public static void main(String[] args) {

        try {
            Config config = new Config();
            config.useSingleServer().setAddress("redis://localhost:6379");
            config.setCodec(new StringCodec());
            RedissonClient redisson = Redisson.create(config);
            RBucket<String> bucket = redisson.getBucket("clientName");
            String objValue = bucket.get();
            System.out.println("The object value is: " + objValue);
            redisson.shutdown();
        } catch (Exception e) {
            System.out.println("e = " + e);
            e.printStackTrace();
        }
    }
}
Другие вопросы по тегам