Spring-Data-Redis For Spring Boot
2193 ワード
前回はspring boot原子の操作redisを結合することを迅速に理解して、もしあなたがSpring Data Jpaを理解するならば上述の方式が比較的に友好的ではないことを知っていて、敏捷な開発の特徴に合いません.では、今日は単機版redisのSpring Data Jpaベースの開発スタイルを学び続けましょう.
テストクラス:
補足:@RedisHashは、オブジェクトがmapアドレスをカプセル化することを指定するkeyインデックスまたは接頭辞、@Idが格納されるときのデフォルトの補助インデックス、@Indexed 2次インデックスである.
repository:
ここでは、サブクラスJpaRepositoryではなくPagingAndSortingRepositoryを継承します.
impl:
personRepository:
controller:
開始エントリ:
前回の手順を繰り返して、data jpaを使うことに慣れているのは親切で、ここ数回のテストでデータがredisに完全に格納されていることがわかり、GET方式のアクセスはすべて正常に戻ったが、具体的にはデータベースの可視化時に文字化けが発生し、私のような軽微な強迫症には耐えられない.次に、Key(String)-Value(Object)のシーケンス化の問題、特にストレージObject(NOT STRING)について深く学ぶ必要がある.
テストクラス:
@RedisHash("persons")
data class Person(
@get:Id
@javax.persistence.Id
open var id: String = "",
@Indexed
open var name: String = "",
open var age: Int = 0,
open var sex: Gender = Gender.MALE
) : Serializable {
override fun toString(): String {
return "Person(id='$id', name='$name', age=$age, sex=$sex)"
}
}
補足:@RedisHashは、オブジェクトがmapアドレスをカプセル化することを指定するkeyインデックスまたは接頭辞、@Idが格納されるときのデフォルトの補助インデックス、@Indexed 2次インデックスである.
repository:
@NoRepositoryBean
interface UserJpaRepository : PagingAndSortingRepository
ここでは、サブクラスJpaRepositoryではなくPagingAndSortingRepositoryを継承します.
impl:
class UserJpaRepositoryImpl(metadata: EntityInformation, operations: KeyValueOperations) :
SimpleKeyValueRepository(metadata, operations), UserJpaRepository
personRepository:
interface PersonRepository : UserJpaRepository
controller:
@RequestMapping("person/set")
fun setPerson(): Person =
personRepository.save(Person("t2", " ", 22, Gender.MALE))
@RequestMapping("person/get")
fun getPerson(): Person = personRepository.findById("t2").get()
開始エントリ:
@SpringBootApplication
@EnableRedisRepositories(repositoryBaseClass = UserJpaRepositoryImpl::class)
class ApplicationConfiguration
fun main(args: Array) {
runApplication(*args)
}
前回の手順を繰り返して、data jpaを使うことに慣れているのは親切で、ここ数回のテストでデータがredisに完全に格納されていることがわかり、GET方式のアクセスはすべて正常に戻ったが、具体的にはデータベースの可視化時に文字化けが発生し、私のような軽微な強迫症には耐えられない.次に、Key(String)-Value(Object)のシーケンス化の問題、特にストレージObject(NOT STRING)について深く学ぶ必要がある.