Есть ли способ получить время с сервера Redis с помощью API JedisCluster?

Я использовал API Jedis (2.9.0) в своем приложении, я обнаружил, что API не поддерживает команду TIME Redis, как я могу получить системное время с сервера Redis? или использовать lua-скрипт для этого? заранее спасибо.


person Tommy    schedule 25.03.2017    source источник


Ответы (2)


Несмотря на то, что jedis еще не поддерживаются, вы можете легко реализовать это с помощью сценария lua.

как это

        String script = "local ntime = redis.call('TIME')\n" +
                "return ntime";

        ArrayList<Long> eval = (ArrayList<Long>)jedisCluster.eval(script, "1");
        System.out.println(eval);

Список возврата «eval» — это то, что вернула команда времени, как описано на веб-сайте Redis:

Возвращаемое значение

Ответ массива, в частности:

Массовый ответ, состоящий из двух элементов:

unix-время в секундах.

микросекунды.

Я использую jediscluster, для всех методов eval требуется параметр «ключ», поэтому я просто ввожу случайный ключ «1», так как этот ключ на самом деле бесполезен. Вы можете выбрать подходящий клиент и метод, но код будет похожим.

person Mobility    schedule 07.04.2017

ATM Jedis не имеет возможности отправлять необработанные команды в Redis, и команда TIME в настоящее время не является его частью. Если вам это действительно нужно, вам нужно разветвить и реализовать, а затем отправить запрос на извлечение.

Цель джедаев — набирать текст безопасно и просто. Добавлять туда новые команды относительно легко.

person gskillz    schedule 25.03.2017