Redis をすぐに学び、使い始めることができます

1.Redisとは何ですか?

非リレーショナル データベース、中間キーとして理解できますが、厳密に言えば、これはデータベースではなく、データ構造化された保存方法の集合であり、SQL 標準、トランザクション、

1.2 なぜ何に使いたいのですか?

A-データはメモリに保存されるため、アクセス速度が速く、失われにくいです。       

B-収納できるタイプは5種類

C - クラスター操作とトランザクション操作を実行できる

D- 複数言語のクライアント用インターフェースがあり、より便利です

一般に、これは実際のプロジェクトで役立ちます: キャッシュ、ログイン時の情報の保存、リーダーボード、スレッドの安全性を防ぐためのカウンターなど。

2. Redisのインストールと使用

2.1 ダウンロードアドレス 

ダウンロード | レディス;

中国公式サイト:CRUGウェブサイト

ダウンロード後は解凍して遊ぶだけ

2.2 コマンドを使用して Redis を起動する

直接ダブルクリックすることもできますが、cmd から始めることをお勧めします。

2.2 redisの5つの主要なデータ型 – 基本的なコマンド操作

A-String 型キー - 値型

set name XX -- キーを name に設定し、値は xx

get name xx 名前としてキーを取得し、値は xx です

mset (複数の値を設定) mget (複数の値を取得)

スクリーンショットが多すぎて自分で確認できない

 Bリストタイプ

Cキーの種類

 Dセットタイプ

 E ハッシュのタイプ

 2.3 javaを使ってredisを操作する実際の使い方

SpringBootプロジェクトに基づいて構築中

対応するインポート依存関係

<!--spirngboot springdata对redis支持-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

構成ファイルで基本的な構成を実行します

redis:
    database: 0
    host: 127.0.0.1
    port: 6379
    password: 123456
    jedis:
      pool:
        max-wait: 2000ms
        min-idle: 2
        max-idle: 8

コードで使用する

 @Autowired
    private RedisTemplate redisTemplate;
    @Test
    public void test(){
        redisTemplate.opsForValue().set("redis","string类型");
        System.out.println(redisTemplate.opsForValue().get("redis"));
    }

ここでシリアル化の問題が発生することに注意してください。

オブジェクトを Redis に置くと、それを取り出すときにシリアル化の問題が発生するため、デシリアル化する必要があります。

方法1:redisに置きたいオブジェクトはSerializerインターフェースを実装していますが、この方法では配置する各クラスがSerializerインターフェースを実装しており、

方法 2: Redis を変換し、

以前の Redis インターフェイスを放棄し、プロジェクトでの操作に次の Redis を使用します。

/缓存的配置
@Configuration
public class RedisConfig {

    @Resource
    private RedisConnectionFactory factory;


    //使用JSON进行序列化
    @Bean
    public RedisTemplate<Object, Object> redisTemplate() {
        RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(factory);
        //JSON格式序列化
        GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
         //key的序列化
        redisTemplate.setKeySerializer(genericJackson2JsonRedisSerializer);
        //alue的序列化
        redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer);
        //hash结构key的虚拟化
        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
        //hash结构value的虚拟化
        redisTemplate.setHashValueSerializer(genericJackson2JsonRedisSerializer);
        return redisTemplate;

    }
}

インポート時にさまざまなポイントでシリアル化された Redis が使用される

//序列化的redis
    @Autowired
    private RedisTemplate<Object,Object> redisTemplate;

3. Redis の永続化

Redisの有無はメモリに基づいて実装されており、ダウンタイム等によるデータ損失を防ぐため、

Redis はメモリ内のデータを別のディスクにバックアップします。

Redis の 2 つの永続化方式: AOP、RDB

  • RDB: レコード データ スナップショット
     
       利点:  
           1. ファイル バックアップに便利な永続ファイルを生成します。ディザスタ リカバリ RDB は非常に良い選択です。
           2. サブプロセスをフォークして永続化し、パフォーマンスは AOF よりも優れ、ファイル サイズは小さくなります。起動時の回復速度 欠点
       :
          1. データの損失を 100% 防ぐ方法はありません
          2. データセットが大きいため、FORk 子プロセスが永続化されるとサーバーがフリーズします。


    AOF: レコード書き込みコマンドの
       利点:  
         1. データはより安全です
         。 2. Append が使用されます。たとえ長時間ダウンしていても、永続的なデータには影響しません。
         3. ログが大きすぎるため、書き換えられる可能性があります
         。 4. AOFログ形式が明確で理解しやすい  
     

       欠点:
          1.AOF ファイルは通常、RDB ファイルよりも大きい
          2.AOF データのリカバリは RDB よりも遅い
      

    ベスト プラクティス: 2 つを組み合わせて、データのバックアップ、移行、災害復旧に RDB を使用します。AOF 永続性により、データが失われないことが保証されます。

4. Redis の削除メカニズム

排除メカニズムは何ですか?

  • volatile-lru: 削除する有効期限が設定されたデータ セットから、最も最近使用されていないデータを選択します。

  • volatile-ttl: 有効期限が設定されているデータセットから有効期限が切れるデータを選択して削除します

  • volatile-random: 有効期限を設定してデータセットからデータの削除をランダムに選択します

  • allkeys-lru: 削除するデータ セットから最も最近使用されていないデータを選択します。

  • allkeys-random: 削除するデータをデータセットからランダムに選択します

  • no-enviction: エンビクションを使用しません

redis.window.conf 構成を変更するには、maxmemory を変更して削除メカニズムを調整します。

Redis については、センチネル モード、クラスタ クラスタ、キャッシュ中に発生する雪崩、故障、侵入など、他にもたくさんあります。

この記事は、初心者がプロジェクトで Redis ミドルウェアを簡単に使用できるようにすることだけを目的としています。Redis の詳細バージョンは後でリリースされる予定です。

勉強と交換へようこそ、欠点を指摘してください、気に入ったら、いいね+ブックマークしてください、ありがとうございます

Supongo que te gusta

Origin blog.csdn.net/m0_67601895/article/details/126362254
Recomendado
Clasificación