Pengantar Redis
Redis (situs web resmi: https://redis.io) adalah database cache persisten tipe log berbasis memori, disimpan dalam format nilai-kunci. Redis benar -benar gratis dan open source. Itu ditulis dalam bahasa Ansi C. Seperti produk cache nilai kunci lainnya, Redis memiliki tiga fitur berikut.
• Redis mendukung persistensi data, yang dapat menyimpan data dalam memori pada disk dan dapat dimuat lagi untuk digunakan selama restart;
• Redis tidak hanya mendukung data jenis nilai kunci sederhana, tetapi juga menyediakan penyimpanan struktur data seperti string, daftar tertaut, koleksi, koleksi yang dipesan dan hash;
• REDIS mendukung cadangan data, yaitu, cadangan data dalam mode master-slave.
Pada sistem Mac, Anda tidak perlu mengunduh Redis untuk menggunakannya. Berikut adalah perintah yang relevan untuk mengunduh paket terkompresi Redis dari server hosting Redis dan membuka ritsletingnya.
wget http://download.redis.io/releases/redis-4.0.8.tar.gztar xzf redis-4.0.8.tar.gzcd redis-4.0.8make
Sebelum menggunakan layanan yang disediakan oleh Redis, Anda harus memulai layanan terkait Redis terlebih dahulu. Perintah untuk memulai redis pada sistem Mac adalah sebagai berikut.
src/redis-server
Kemudian, buka kembali klien Redis dan gunakan perintah berikut untuk terhubung ke server Redis.
src/redis-cliredis> atur foo barokredis> get foo "bar"
Mengintegrasikan database Redis
Sebelum menggunakan Redis, Anda perlu memperkenalkan dependensi terkait. Skrip yang bergantung pada metode Maven adalah sebagai berikut:
<dependency> <GroupId> org.springframework.boot </groupid> <ArTifactId> Spring-boot-starter-data-redis </artifactid> </dependency>
Setelah itu, kami menulis konfigurasi Redis yang relevan ke YML. Di sini kami merekomendasikan menulis konfigurasi yang berbeda sesuai dengan lingkungan yang berbeda sebelumnya. Port default yang digunakan oleh Redis adalah 6379. Biasanya, Redis menggunakan database No. 0 secara default, dan ada 16 database secara default:
#redis configuration redis:# Database index database: 0# Server address host: 127.0.0.1# Server connection port port: 6379# Link password password:# Link pool pool:# Maximum number of connections (negative value means no limit) max-active: 8# Maximum blocking waiting time (negative value means no limit) max-wait: 1# Maximum idle link max-idle: 8# Minimum idle link min-idle: 0# Link timeout Waktu (milidetik) Timeout: 0
Jika itu adalah metode application.properties, beberapa konfigurasi adalah sebagai berikut:
spring.redis.hostname = 127.0.0.1spring.redis.port = 6379 spring.redis.pool.maxactive = 8 spring.redis.pool.maxwait = -1 spring.redis.pool.maxidle = 8 spring.redis.pool.minidle = 0 spring.pool.
Buat file redisconfig.java baru untuk menyimpan file konfigurasi.
@Configuration @enablecaching // buka anotasi kelas publik redisconfig memperluas CachingConfigurersupport {@bean cachemanager cachemanager (redistemplate <?,?> Redistemplate) {cacheManager cacheManager = new rediscacheManager (redistemplate); Return Cachemanager; } @Bean Public Redistemplate <String, String> redistemplate (RedisconnectionFactory factory) {redistemplate <string, string> redistemplate = redistemplate baru <string, string> (); redistemplate.setConnectionFactory (pabrik); return redistemplate; }}Buat kelas RedisService.java di paket layanan.
antarmuka publik redisService {public void set (tombol string, nilai objek); objek publik get (tombol string); }Buat kelas implementasi layanan baru RedisServiceImpl.java.
@ServicePublic kelas RedisServiceImpl mengimplementasikan redisService {@resource private redistemplate <string, objek> redistemplate; public void set (tombol string, nilai objek) {valueOperations <String, Object> vo = redistemplate.opsForValue (); vo.set (kunci, nilai); } objek publik get (tombol string) {valueOperations <string, object> vo = redistemplate.opsforvalue (); return vo.get (key); }}Buat kode lapisan pengontrol baru usercontroller.java
@Controller @requestMapping (path = "/user") kelas publik userController {@Autowired private UserService UsersEverService; @Autowired Private RedisService RedisService; // Dapatkan pengguna dari redis@requestMapping (value = "/getUserFromRedis", method = requestMethod.get) public @ResponseBody pengguna getredis (@RequestParam string key) {return (user) redisService.get (key); } // Dapatkan semua pengguna @RequestMapping (value = "/getUsers", method = requestMethod.get) public @ResponseBody Page <user> Daftar (model model, pagable pagable) {return userserver.findall (pagable); } // Tambahkan pengguna @getmapping (value = "/addUser") public @ResponseBody String addUser (@RequestParam String Dictum, @RequestParam String Password, @RequestParam String username) {user user = new user (); user.setdictum (diktum); user.setPassword (kata sandi); user.setusername (nama pengguna); System.out.println (pengguna); UserserService.SaveUser (pengguna); redisService.set (user.getId ()+"", user); mengembalikan "disimpan"; }}Kode Kelas Entitas Pengguna.java yang dirancang dalam artikel ini adalah sebagai berikut: Menyimpan objek di Redis memerlukan serialisasi.
@Entitas@table (name = "S_USER") Pengguna kelas publik mengimplementasikan serializable {private static final long serialversionuid = 1l; @ID @GeneratedValue (strategi = generationType.auto) Private Integer ID; nama pengguna string pribadi; kata sandi string pribadi; Diktum string pribadi; @Onetomany (mappedby = "user", fetch = fetchType. Malas, cascade = {cascadetype. All}) set private <foto> setPhoto; // hilangkan Getter dan setter @Override Public String ToString () {return "user [id =" + id + ", username =" + username + ", password =" + password + ", dictum =" + diktum + ", setPhoto =" + setPhoto + "]"; }}Meringkaskan
Di atas adalah metode springboot mengintegrasikan database Redis yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!