Я использовал API Jedis (2.9.0) в своем приложении, я обнаружил, что API не поддерживает команду TIME Redis, как я могу получить системное время с сервера Redis? или использовать lua-скрипт для этого? заранее спасибо.
Есть ли способ получить время с сервера Redis с помощью API JedisCluster?
Ответы (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», так как этот ключ на самом деле бесполезен. Вы можете выбрать подходящий клиент и метод, но код будет похожим.
ATM Jedis не имеет возможности отправлять необработанные команды в Redis, и команда TIME в настоящее время не является его частью. Если вам это действительно нужно, вам нужно разветвить и реализовать, а затем отправить запрос на извлечение.
Цель джедаев — набирать текст безопасно и просто. Добавлять туда новые команды относительно легко.