kagamihogeの日記

kagamihogeの日記です。

Redis

RedisのKEYSを同時に何個か実行する

RedisのkeysがO(N)を実際に見る で見たようにKEYSは登録キー件数によってはかなり遅くなる。次に、特に重いKEYS *を同時に複数実行すると、タイムアウトするらしいので、そこを実際にやってみる。 ソースコード <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-start</artifactid></parent>…

RedisのkeysがO(N)を実際に見る

RedisのKEYSはO(n)な点に注意が必要、と各種文献に書かれている。なので実際にデータ作ってみて試してみる。 ソースコード <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.7.RELEASE</version> <relativePath /> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceencoding></properties>

spring-data-redisでpipelineによるバルク処理

redis初心者です。以下は https://docs.spring.io/spring-data-redis/docs/current/reference/html/#pipeline の抄訳。 5.11. Pipelining Redisにはパイプライン(https://redis.io/topics/pipelining)があり、これはリプライを待たずにサーバへ複数コマン…

Jedisで単一コネクションをマルチスレッドで使用してはいけない

JedisはJavaのRedisクライアント。自明だが、単一コネクションをマルチスレッドで使いまわすとその動作は不定となる。 とりあえずソースコード。 package kagamihoge.jedissample; import java.util.concurrent.ExecutorService; import java.util.concurren…

RedisのLISTに1件ずつとまとめてPUSHするときの速度差

Redisをはじめて触るので色々と試している。とりあえず基本的なパフォーマンスを見るということで、LISTに1件ずつPUSHする場合と、ある程度まとめてPUSHする場合の速度差を見る。それによってRedisを学ぶのが目的である。 ソースコード pom.xml <parent> <groupId>org.springf</groupid></parent>…

spring-bootでredisつかう

spring-bootのspring-boot-starter-data-redisを使用してRedisにアクセスする。とりあえずhello worldレベルのことをやる。 ソースコード pom.xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.RELEASE</version> <relativePath /> </parent> <properties> </properties>

Spring BootでSpring Securityをredisでうごかす

Spring Securityのセッション保存先をメモリからredisに変更する。 やること redisのインストール 他サイトを見て適当なマシンにredisをインストールしておく。 依存性の追加 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> </parent>