Bagian ini menjelaskan cara terhubung ke instans Tair (Redis OSS-kompatibel) menggunakan redis-cli, kode, atau Data Management (DMS).
Persyaratan awal
Sebuah daftar putih alamat IP telah dikonfigurasi untuk instans tersebut.
Kata sandi telah diatur untuk instans. Jika kata sandi belum diatur, lihat Ubah atau atur ulang kata sandi. Persyaratan ini tidak berlaku jika Anda mengatur kata sandi saat membuat instans.
Prosedur
redis-cli
Contoh ini menunjukkan cara menggunakan redis-cli pada instans ECS Linux untuk mengakses instans Tair (Redis OSS-kompatibel) dalam VPC yang sama.
Untuk terhubung dari perangkat lokal, Anda dapat meminta titik akhir publik dan menggunakannya untuk terhubung.
Masuk ke instans ECS. Jalankan perintah berikut untuk mengunduh, menginstal, dan mengkompilasi redis-cli.
sudo yum -y install gcc # Instal dependensi GCC. wget https://download.redis.io/releases/redis-7.2.0.tar.gz tar xzf redis-7.2.0.tar.gz cd redis-7.2.0&&makeContoh ini menggunakan redis-cli versi 7.2.0. Anda dapat menginstal versi lainnya. Proses kompilasi dan instalasi biasanya memakan waktu 2 hingga 3 menit.
Jalankan perintah berikut untuk terhubung ke instans.
src/redis-cli -h hostname -a kata sandi -p portParameter:
hostname: Titik akhir instans. Di area Connection Information konsol, Anda dapat melihat titik akhir VPC instans, seperti
r-8vbwds91ie1rdl****.redis.zhangbei.rds.aliyuncs.com. Untuk informasi lebih lanjut, lihat Lihat titik akhir.password: Kata sandi.
port: Nomor port. Default adalah 6379.
Contoh:
src/redis-cli -h r-8vbwds91ie1rdl****.redis.zhangbei.rds.aliyuncs.com -a TestPassword123 -p 6379Tulis dan baca data.
Jalankan perintah
SET bar foo.Output yang diharapkan adalah
OK.Jalankan perintah
GET bar.Output yang diharapkan adalah
"foo".
Koneksi kode
Untuk terhubung dari perangkat lokal, Anda dapat meminta titik akhir publik dan menggunakannya untuk terhubung.
Contoh ini menunjukkan cara menggunakan klien Jedis untuk terhubung ke instans. Untuk contoh kode untuk klien umum lainnya, lihat Contoh koneksi untuk klien umum.
Tambahkan konfigurasi pom.xml.
<!-- Impor spring-data-redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <!-- Setelah Spring Boot 2.0, Lettuce adalah klien default. Kecualikan Lettuce saat menggunakan Jedis. --> <exclusions> <exclusion> <groupId>io.lettuce</groupId> <artifactId>lettuce-core</artifactId> </exclusion> </exclusions> </dependency> <!-- Impor jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </dependency>Konfigurasikan informasi koneksi. Ubah parameter berdasarkan komentar.
@Configuration public class RedisConfig { @Bean JedisConnectionFactory redisConnectionFactory() { // Contoh ini hanya untuk pengujian koneksi. Dalam lingkungan produksi, kami sarankan Anda menulis informasi koneksi ke file konfigurasi dan membacanya menggunakan anotasi @Value. // Dapatkan titik akhir (hostName) dan port (port) dari bagian Informasi Koneksi pada halaman detail instans. Pilih titik akhir VPC atau titik akhir publik berdasarkan lingkungan jaringan klien. RedisStandaloneConfiguration config = new RedisStandaloneConfiguration("r-8vbwds91ie1rdl****.redis.zhangbei.rds.aliyuncs.com", 6379); // Format kata sandi adalah akun:kata sandi. Misalnya, jika akun adalah testaccount dan kata sandi adalah Rp829dlwa, atur kata sandi menjadi testaccount:Rp829dlwa. // Jika Anda lupa akun atau kata sandi, buka halaman detail instans dan klik Manajemen Akun di panel navigasi di sebelah kiri untuk mengatur ulang kata sandi atau membuat akun. config.setPassword(RedisPassword.of("Akun:KataSandi")); JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); // Atur jumlah maksimum koneksi sesuai kebutuhan. Nilai ini tidak boleh melebihi jumlah maksimum koneksi yang didukung oleh tipe instans. jedisPoolConfig.setMaxTotal(30); // Atur jumlah maksimum koneksi idle sesuai kebutuhan. Nilai ini tidak boleh melebihi jumlah maksimum koneksi yang didukung oleh tipe instans. jedisPoolConfig.setMaxIdle(20); // Matikan testOn[Borrow|Return] untuk mencegah perintah PING tambahan. jedisPoolConfig.setTestOnBorrow(false); jedisPoolConfig.setTestOnReturn(false); JedisClientConfiguration jedisClientConfiguration = JedisClientConfiguration.builder().usePooling().poolConfig( jedisPoolConfig).build(); return new JedisConnectionFactory(config, jedisClientConfiguration); } @Bean public RedisTemplate<String, Object> redisTemplate() { RedisTemplate<String, Object> template = new RedisTemplate<>(); template.setConnectionFactory(redisConnectionFactory()); template.setKeySerializer(new StringRedisSerializer()); template.setValueSerializer(new GenericJackson2JsonRedisSerializer()); return template; } }Uji koneksi.
@SpringBootTest public class RedisTest { @Autowired private RedisTemplate<String, Object> redisTemplate; @Test void test() { try { redisTemplate.opsForValue().set("test_key", "hello world!"); System.out.println("Koneksi berhasil:"+redisTemplate.opsForValue().get("test_key")); } catch (Exception e) { e.printStackTrace(); System.out.println("Terjadi pengecualian selama koneksi. Lihat dokumentasi di " + "https://www.alibabacloud.com/help/en/redis/support/how-do-i-troubleshoot-connection-issues-in-apsaradb-for-redis" + " untuk memecahkan masalah jaringan, daftar putih, serta akun atau kata sandi." + " Anda juga dapat melihat dokumentasi berdasarkan pesan kesalahan: https://www.alibabacloud.com/help/en/redis/support/common-errors-and-troubleshooting"); } } }Jalankan kode. Jika koneksi berhasil, hasil berikut akan dikembalikan:
Koneksi berhasil:hello world!
DMS
Masuk ke konsol dan buka halaman Instans. Di bilah navigasi atas, pilih wilayah tempat instans yang ingin Anda kelola berada. Kemudian, temukan instans dan klik ID instans.
Di sudut kanan atas halaman, klik tombol Log on to the database.
Di halaman logon DMS, atur Access Mode ke Password Logon dan masukkan kata sandi Anda.
Metode ini masuk dengan akun default. Anda dapat melihat detail akun di halaman Account Management di konsol.
Klik tombol Login.
Tulis dan baca data.
Di halaman SQL Console DMS, masukkan perintah
SET foo hellodan klik Execute (F8).Output yang diharapkan adalah
OK.Masukkan perintah
GET foodan klik Execute (F8).Output yang diharapkan adalah
hello.
Referensi
Topik berikut memberikan deskripsi dan contoh yang lebih rinci.
Metode Koneksi Khusus
Aktifkan enkripsi SSL untuk terhubung ke instans: Mengaktifkan fitur enkripsi Transport Layer Security (TLS) meningkatkan keamanan tautan data dan memastikan integritas data.
Gunakan mode koneksi langsung untuk terhubung ke instans: Untuk instans kluster, Anda dapat meminta titik akhir koneksi langsung. Titik akhir ini memungkinkan Anda mengakses shard data backend secara langsung. Ini mirip dengan menghubungkan ke kluster Redis asli. Dibandingkan dengan modus proxy , mode koneksi langsung mengurangi waktu respons karena permintaan tidak perlu diproses oleh proxy.
Gunakan mode kompatibel Sentinel untuk terhubung ke instans: Sebuah instans menyediakan mode kompatibel Sentinel. Setelah Anda mengaktifkan mode ini, klien dapat terhubung ke instans dengan cara yang sama seperti menghubungkan ke Sentinel Redis asli.
Kesalahan umum
Pesan kesalahan | Penyebab dan solusi |
| Daftar putih tidak dikonfigurasi dengan benar. Periksa item berikut:
Setelah Anda memperbaiki masalah, Anda dapat menjalankan perintah |
| |
| |
| Kata sandi tidak valid. Gunakan kata sandi yang benar dalam format yang valid. Format kata sandi bervariasi berdasarkan akun yang dipilih.
Catatan
|