春の起動時に@Cacheをロードする方法は?

membersound:

Spring-cacheを使用してデータベースクエリを改善しています。これは次のように正常に機能します。

@Bean
public CacheManager cacheManager() {
    return new ConcurrentMapCacheManager("books");
}

@Cacheable("books")
public Book getByIsbn(String isbn) {
    return dao.findByIsbn(isbn);
}

しかし今、私は起動時に本のキャッシュ全体を事前投入したいと思います。つまりdao.findAll()、すべての値を呼び出してキャッシュに入れたいのですこのルーチンは、定期的にのみスケジュールされます。

しかし、使用時にキャッシュを明示的に設定するにはどうすればよい@Cacheableですか?

ロキ:

以前と同じようにキャッシュを使用し、スケジューラを追加してキャッシュを更新します。コードスニペットは以下のとおりです。

@Service
public class CacheScheduler {
    @Autowired
    BookDao bookDao;
    @Autowired
    CacheManager cacheManager;

    @PostConstruct
    public void init() {
        update();
        scheduleUpdateAsync();
    }

    public void update() {
        for (Book book : bookDao.findAll()) {
            cacheManager.getCache("books").put(book.getIsbn(), book);
        }
    }
}

KeyGenerator(デフォルトとして)1つのパラメータのオブジェクトを返すことを確認してくださいまたは、cacheManagerを直接使用しないようにputToCacheメソッドBookServiceを公​​開します。

@CachePut(value = "books", key = "#book.isbn")
public Book putToCache(Book book) {
    return book;
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

OS X Yosemite / El Capitanの起動時にMySQLを自動ロードする方法

分類Dev

ViewControllerの起動時にjsonデータを迅速にロードする方法

分類Dev

起動時にemacsorg-mode設定をロードする方法は?

分類Dev

起動時に「snd-hda-intel」をロードする方法

分類Dev

PCの起動時にTransmissiontorrentクライアントを自動起動してシードする方法は?

分類Dev

起動時にwifiのブロックを解除する方法は?

分類Dev

Tomcatの起動時にJavaクラスをロードする

分類Dev

起動時にbumblebeeデーモンを起動する方法は?

分類Dev

ターミナル起動時に屏風を自動ロードする方法は?

分類Dev

Tomcatの起動時またはアプリケーションのデプロイ時に特定のJavaコードを実行する方法は?

分類Dev

次回の起動時にどのカーネルgrubがロードを試みるかを確認する方法

分類Dev

起動時にカーネルモジュール(modprobe -f)を強制的にロードする方法は?

分類Dev

プロバイダーを使用してアプリの起動時に状態をロードする方法

分類Dev

すぐに RAM にロードして起動時間を短縮する方法はありますか?

分類Dev

起動時にカーネルモジュールをロードする方法は?

分類Dev

起動時にロードするxscreensaver?

分類Dev

NetBeansの起動時にマスターパスワードウィンドウを無効にする方法は?

分類Dev

Emacs:起動時にアンチタームバッファをロードする方法は?

分類Dev

春ブーツ - アプリの起動前に/中にコードを実行するための正しい方法はありますか?

分類Dev

起動時にスプリング@PropertySourceをロードする方法

分類Dev

ログイン画面の起動時にnumlockを有効にする方法は?

分類Dev

アプリケーションの起動時に値(usersおよびusers_profiles)をデータベースにロードする方法は?

分類Dev

.jarの起動時に異なる構成ファイルをロードすることは可能ですか?

分類Dev

春の起動時に例外がスローされたときにコントローラーでFeignクライアントを自動配線する

分類Dev

Windows 10のコマンドラインからSkypeを起動する方法、または起動時に自動的に起動する方法は?

分類Dev

CronTrigger情報をリポジトリに保存し、アプリケーションの起動時にTaskSchedulerをロードする方法は?

分類Dev

起動時にリスト(http呼び出し)をAngular 5のアプリケーションスコープにロードする方法は?

分類Dev

Firefoxの起動時にターミナルコマンドをバインドする方法は?

分類Dev

Android:キオスクモードのAndroid起動時に自動起動アプリを作成する方法

Related 関連記事

  1. 1

    OS X Yosemite / El Capitanの起動時にMySQLを自動ロードする方法

  2. 2

    ViewControllerの起動時にjsonデータを迅速にロードする方法

  3. 3

    起動時にemacsorg-mode設定をロードする方法は?

  4. 4

    起動時に「snd-hda-intel」をロードする方法

  5. 5

    PCの起動時にTransmissiontorrentクライアントを自動起動してシードする方法は?

  6. 6

    起動時にwifiのブロックを解除する方法は?

  7. 7

    Tomcatの起動時にJavaクラスをロードする

  8. 8

    起動時にbumblebeeデーモンを起動する方法は?

  9. 9

    ターミナル起動時に屏風を自動ロードする方法は?

  10. 10

    Tomcatの起動時またはアプリケーションのデプロイ時に特定のJavaコードを実行する方法は?

  11. 11

    次回の起動時にどのカーネルgrubがロードを試みるかを確認する方法

  12. 12

    起動時にカーネルモジュール(modprobe -f)を強制的にロードする方法は?

  13. 13

    プロバイダーを使用してアプリの起動時に状態をロードする方法

  14. 14

    すぐに RAM にロードして起動時間を短縮する方法はありますか?

  15. 15

    起動時にカーネルモジュールをロードする方法は?

  16. 16

    起動時にロードするxscreensaver?

  17. 17

    NetBeansの起動時にマスターパスワードウィンドウを無効にする方法は?

  18. 18

    Emacs:起動時にアンチタームバッファをロードする方法は?

  19. 19

    春ブーツ - アプリの起動前に/中にコードを実行するための正しい方法はありますか?

  20. 20

    起動時にスプリング@PropertySourceをロードする方法

  21. 21

    ログイン画面の起動時にnumlockを有効にする方法は?

  22. 22

    アプリケーションの起動時に値(usersおよびusers_profiles)をデータベースにロードする方法は?

  23. 23

    .jarの起動時に異なる構成ファイルをロードすることは可能ですか?

  24. 24

    春の起動時に例外がスローされたときにコントローラーでFeignクライアントを自動配線する

  25. 25

    Windows 10のコマンドラインからSkypeを起動する方法、または起動時に自動的に起動する方法は?

  26. 26

    CronTrigger情報をリポジトリに保存し、アプリケーションの起動時にTaskSchedulerをロードする方法は?

  27. 27

    起動時にリスト(http呼び出し)をAngular 5のアプリケーションスコープにロードする方法は?

  28. 28

    Firefoxの起動時にターミナルコマンドをバインドする方法は?

  29. 29

    Android:キオスクモードのAndroid起動時に自動起動アプリを作成する方法

ホットタグ

アーカイブ