Agent Skills by ALSEL
Anthropic Claudeデータ・分析⭐ リポ 0品質スコア 50/100

spring-boot-cache

Redis / Caffeine / EhCache などのキャッシュプロバイダーをTTLや削除ポリシーとともに設定し、`@Cacheable` / `@CacheEvict` / `@CachePut` アノテーションの適用、キャッシュヒット・ミスの検証、Actuator によるメトリクス公開までを一貫してサポートします。Spring Boot サービスへのキャッシュ追加、有効期限の設定、古いデータの削除、またはキャッシュミスの診断が必要な際に活用してください。

description の原文を見る

Provides patterns for implementing Spring Boot caching: configures Redis/Caffeine/EhCache providers with TTL and eviction policies, applies @Cacheable/@CacheEvict/@CachePut annotations, validates cache hit/miss behavior, and exposes metrics via Actuator. Use when adding caching to Spring Boot services, configuring cache expiration, evicting stale data, or diagnosing cache misses.

SKILL.md 本文

Spring Boot キャッシュ抽象化

概要

Spring Boot 3.5+ アプリケーションにおいて、キャッシュ抽象化の有効化、プロバイダ設定(Caffeine、Redis、Ehcache)、サービスメソッドへのアノテーション付与、動作検証を行う 6 ステップのワークフロー。読み取り時は @Cacheable、書き込み時は @CachePut、削除時は @CacheEvict を適用します。TTL/削除ポリシーを設定し、Actuator 経由でメトリクスを公開します。

使用時期

  • サービスメソッドに @Cacheable@CachePut、または @CacheEvict を追加する場合
  • Caffeine、Redis、または Ehcache を TTL および容量ポリシー付きで設定する場合
  • 古いデータのための削除戦略を実装する場合
  • キャッシュミスまたは無効化の問題を診断する場合
  • Actuator または Micrometer 経由でヒット/ミスメトリクスを公開する場合

手順

  1. 依存関係を追加spring-boot-starter-cache とプロバイダを追加:

    • Caffeine: caffeine スターター
    • Redis: spring-boot-starter-data-redis
    • Ehcache: ehcache スターター
  2. キャッシング有効化@Configuration クラスに @EnableCaching を付与し、CacheManager ビーンを定義。

  3. メソッドにアノテーション付与 — 読み取りは @Cacheable、書き込みは @CachePut、削除は @CacheEvict

  4. TTL/削除を設定spring.cache.caffeine.specspring.cache.redis.time-to-live、または spring.cache.ehcache.config を設定。

  5. キーを成形key 属性内で SpEL を使用;condition/unless で選別的キャッシングを保護。

  6. セットアップ検証 — 統合テストを実行して 2 回目の呼び出しでキャッシュヒットを確認;GET /actuator/caches でキャッシュマネージャ登録を確認;GET /actuator/metrics/cache.gets でヒット/ミスレシオをクエリ。

例 1: 基本的な @Cacheable 使用法

@Service
@CacheConfig(cacheNames = "users")
class UserService {

    @Cacheable(key = "#id", unless = "#result == null")
    User findUser(Long id) { ... }
}
1 回目の呼び出し → キャッシュミス、リポジトリが実行される
2 回目の呼び出し → キャッシュヒット、リポジトリがスキップされる

例 2: SpEL を使った条件付きキャッシング

@Cacheable(value = "products", key = "#id", condition = "#price > 100")
public Product getProduct(Long id, BigDecimal price) { ... }

// 高価な商品のみキャッシュされます

例 3: キャッシュ削除

@CacheEvict(value = "users", key = "#id")
public void deleteUser(Long id) { ... }

段階的なシナリオ(基本的な製品キャッシュ、多層削除、Redis 統合)については、references/cache-examples.md を参照してください。

高度なオプション

  • JSR-107 相互運用性を重視するプロバイダに対して JCache アノテーション(@CacheResult@CacheRemove)を使用;同じメソッドで Spring アノテーションと混在させない。
  • リアクティブな戻り値型(MonoFlux)または CompletableFuture 値をキャッシュ。
  • REST 経由でキャッシュされたレスポンスを公開する場合、HTTP CacheControl ヘッダを適用。
  • 時間限定のキャッシュに対して @Scheduled で定期削除をスケジュール。
  • プログラマティックな cacheManager.getCache(name) のために CacheManagementService を作成。

トラブルシューティング

@Cacheable 追加後もキャッシュミスが続く場合:

  1. @Configuration クラスに @EnableCaching があることを確認。
  2. メソッドがパブリックであり、クラス外から呼び出されていることを確認(Spring はプロキシを使用;自己呼び出しはキャッシュをバイパス)。
  3. SpEL キー式が正しく解決されることを検証。
  4. キャッシュマネージャビーンが cacheManager として登録されているか、cacheManager = "myCacheManager" で明示的に参照されていることを確認。

リファレンス

  • references/spring-framework-cache-docs.md: Spring Framework リファレンスガイドからの厳選抜粋。
  • references/spring-cache-doc-snippet.md: Spring ドキュメンテーションからのナラティブ概要。
  • references/cache-core-reference.md: アノテーションパラメータ、依存関係マトリックス、プロパティカタログ。
  • references/cache-examples.md: テスト付きのエンドツーエンド例。

ベストプラクティス

  • コンストラクタインジェクションと不変 DTO をキャッシュエントリに優先。
  • キャッシュ名を集約ごと(usersorders)に分離して削除を簡素化。
  • キャッシュヒット/ミスはデバッグレベルのみでログ出力;メトリクスを Micrometer 経由でプッシュ。
  • TTL をデータ陳腐化許容度に基づいて調整;コード内で根拠を記述。
  • PII または認証情報を保存するキャッシュは暗号化で保護するか、キャッシングを回避。
  • キャッシュ削除をトランザクション境界と整合させてダーティリード防止。

制約と警告

  • 開かれた永続化コンテキストに依存する可変エンティティのキャッシングを回避。
  • 同じメソッドで Spring キャッシュアノテーションと JCache アノテーションを混在させない。
  • サービスインスタンス間のキャッシング時にシリアライゼーション互換性を検証。
  • インメモリストアの OOM 防止のためにメモリフットプリントを監視。
  • Caffeine + Redis 多層キャッシュはパブリッシュ/サブスクライブ無効化チャネルが必要。

関連スキル

  • ../spring-boot-rest-api-standards
  • ../spring-boot-test-patterns
  • ../unit-test-caching

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
giuseppe-trisciuoglio
リポジトリ
giuseppe-trisciuoglio/developer-kit
ライセンス
MIT
最終更新
不明

Source: https://github.com/giuseppe-trisciuoglio/developer-kit / ライセンス: MIT

関連スキル

OpenAIデータ・分析⭐ リポ 1,451

hugging-face-trackio

Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。

by gradio-app
汎用データ・分析⭐ リポ 855

btc-bottom-model

ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。

by star23
Anthropic Claudeデータ・分析⭐ リポ 380

protein_solubility_optimization

タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。

by SpectrAI-Initiative
Anthropic Claudeデータ・分析⭐ リポ 1,743

research-lookup

Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。

by K-Dense-AI
Anthropic Claudeデータ・分析⭐ リポ 299

tree-formatting

ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。

by majiayu000
汎用データ・分析⭐ リポ 145

querying-indonesian-gov-data

インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。

by suryast
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: giuseppe-trisciuoglio · giuseppe-trisciuoglio/developer-kit · ライセンス: MIT