webBG - програмисти, машинно обучение, javascript, python, php, питам, говорим, публикации

Безопасно ли е да използвате Spring Redis ключове?

Искам да търся ключове с модела на низа. Не виждам SCAN да е директен, както правят Keys.

redistemplate.opsForSet().getOperations().keys(pattern);

Това е толкова ясно, така че ако имам моята стойност като мой ключ, мога да направя търсене и сортиране до известна степен. Но единственият ми проблем е, че има предупреждение да не се използва командата KEYS. Не съм сигурен дали Spring се е справила с това, моля, кажете вашите мисли.

22.02.2016

Отговори:


1

Трябва да считате KEYS (http://redis.io/commands/keys) за команда за отстраняване на грешки. Стартирането му в redis-cli на вашия екземпляр за разработка е напълно добре, но не го използвайте в код, който в крайна сметка ще се окаже на вашия екземпляр за разработка.

В зависимост от размера на вашата база данни redis и модела, използван с KEYS, изпълнението на командата може потенциално да отнеме много време. През това време redis сървърът няма да може да обслужва други команди.

SCAN може да не е толкова ясен, но е правилният начин за изброяване на ключове, без да забавяте сървъра. И ще намерите много проби за пролетта, като тази: https://stackoverflow.com/a/30260108/3677188

22.02.2016
  • Благодаря за отговора, но сценарият е малко сложен. Работя с милиарди записи, работата с милиарди записи в DB е лесна, но искам да го имам във вградена памет, освен в DB. И така, избирам redis, опитах някои опции като разделяне на записите в множество списъци и съхраняване в redis. Но тогава не мога да направя сортиране или търсене по стойностите. Така че следващата стъпка е съхраняването на ключа като стойност, мога да направя търсенето по шаблона, съответстващ само на KEYS. 22.02.2016
  • Просто не разбирам как се използва SCAN. Трябва да съпоставя модела. Имам следните ключове, ›Ключове * ›Key0-Test+XXXXX ›Key0-Production+XXXXX ›Key0-EVAL+XXXXX ›Key0-Test-PreProduction+XXXXX ›Key0-Test-EVAL+XXXXX и така нататък, сега аз искате да намерите всички ключове, съответстващи на Тест. Моля, уведомете ме как е възможно в SCAN. 23.02.2016
  • Нови материали

    За да научите нов език за програмиране, започнете отначало
    Първоначално публикувано на http://www.mberlove.com/blog/a-new-programming-language-starting-over/ Програмистите се гордеят със способността си да усвояват лесно нови умения , разчитайки..

    5 Youtubers на Data Science, които трябва да следвате
    Защото всички можем да се справим с малко продуктивно отлагане Всички сме падали в заешката дупка на Youtube, така че защо да не я направим продуктивна?! Като непрекъснато нарастващ източник..

    Бих казал, че точно това е проблемът с Twitter — това е инструмент на суперпотребител.
    Бих казал, че точно това е проблемът с Twitter — това е инструмент на суперпотребител. По същия начин, по който суперкодерът сочи vim като единствения начин за кодиране, но останалите от нас..

    Основи на Gradio
    Gradio е най-ефективният метод за демонстриране на вашия модел на машинно обучение и разполага с удобен за потребителя онлайн интерфейс, който го прави достъпен от всяко място. Какво прави..

    Илюстрация (GIF) за обяснение на дълбоки конволюционни мрежи (DCNN)
    В света на компютърното зрение най-основният и често срещан алгоритъм за разпознаване на изображения е конволюционната мрежа. С популярността на рамки като tensorflow и pytorch, стана по-лесно да..

    Python Bootcamp — Data Science Day 165
    Python Bootcamp от Giles McMullen-Klein беше абсолютно невероятно. Джайлс има този уникален начин да улови аудиторията си, като същевременно прави съдържанието на курса много интересно...

    Сравняване на модели на машинно обучение в R за прогнозиране на смърт поради сърдечна недостатъчност и диабет
    Част 1: Използвайте машинно обучение за прогнозиране на смъртно събитие поради сърдечна недостатъчност Целта на този анализ е да се сравнят методите за машинно обучение при прогнозиране на..