Computer >> Máy Tính >  >> Lập trình >> Redis

Redis Jedis - Cách thực hiện các thao tác CRUD trên khóa bằng thư viện jedis

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về cách thực hiện thao tác CRUD trên khóa bằng thư viện Jedis.

Thư viện Jedis

Jedis là một thư viện máy khách Java cho kho dữ liệu redis. Nó nhỏ và rất dễ sử dụng, và hoàn toàn tương thích với kho dữ liệu redis 2.8.x, 3.x.x trở lên. Bạn có thể tìm thêm thông tin về thư viện jedis tại đây.

Phím

Trong Redis, Khóa được sử dụng như một định danh duy nhất để lưu trữ, quản lý và truy xuất một giá trị được lưu trữ trong kho dữ liệu. Bạn có thể tìm thêm thông tin về các lệnh Keys tại đây.

Thiết lập dự án

Tạo một dự án maven đơn giản trong IDE yêu thích của bạn và thêm phần phụ thuộc được đề cập bên dưới vào pom.xml của bạn tệp.

<dependency>
  <groupId>redis.clients</groupId>
  <artifactId>jedis</artifactId>
  <version>3.0.1</version>
</dependency>

Để biết phiên bản mới nhất của thư viện jedis, hãy xem trang này.

Cài đặt Redis

Bạn sẽ cần cài đặt phiên bản Redis mới nhất. Kiểm tra trang này để biết thêm thông tin về cài đặt redis.

Kết nối Jedis

Tạo một đối tượng của Jedis ( redis.clients.jedis.Jedis ) để kết nối mã java của bạn với redis.

Jedis jedis = new Jedis();

Nếu bạn đã bắt đầu một dịch vụ redis trong máy cục bộ của mình và trên cổng mặc định (6379) thì hàm tạo mặc định sẽ hoạt động tốt. Nếu không, bạn phải chuyển đúng url máy chủ và số cổng. như một đối số trong hàm tạo.

Đặt Dấu thời gian trên Khóa

Có bốn phương pháp để đặt thời gian hết hạn trên khóa. Chúng như sau:-

  1. hết hạn:- Nó đặt thời gian hết hạn trên khóa tính bằng giây.
    /* Set expiration time on <key-1> in seconds */
    jedis.expire("key-1", 300);
  2. pexpire:- Nó đặt thời gian hết hạn trên khóa tính bằng mili giây.
    /* Set expiration time of <key-1> in milliseconds */
    jedis.pexpire("key-1", 30000);
  3. expireat:- Nó đặt thời gian hết hạn trên khóa trong Unix Timestamp tính bằng giây.
    /* Set expiration time of <key-1> in unix timestamp in seconds */
    jedis.expireAt("key-1", 1543622400);
  4. pexpireat:- Nó đặt thời gian hết hạn trên khóa trong Unix Timestamp tính bằng mili giây.
    /* Set expiration time of <key-1> in unix timestamp in milliseconds */
    jedis.pexpireAt("key-1", 154362240000);

Lấy Dấu thời gian của khóa

Có hai phương pháp để lấy thời gian hết hạn của khóa. Chúng như sau:-

  1. ttl:- Nó trả về thời gian hết hạn của khóa tính bằng giây.
    /* Returns expiration time of <key-1> in seconds */
    jedis.ttl("key-1");
  2. pttl:- Nó trả về thời gian hết hạn của khóa tính bằng mili giây.
    /* Returns expiration time of <key-1> in milliseconds */
    jedis.pttl("key-1");

Xóa Dấu thời gian

tồn tại phương thức xóa thời gian hết hạn của khóa được lưu trữ trong kho dữ liệu redis.

/* Removes timestamp of <key-1> */
jedis.persist("key-1");

Nhận tất cả

phím phương thức trả về một hoặc nhiều khóa khớp với một mẫu được chỉ định.

/* Returns all the keys stored in datastore */
jedis.keys("*");
		
/* Returns all the keys that starts with a and ends with b */
jedis.keys("a*b");

Xóa

del được sử dụng để xóa khóa khỏi kho dữ liệu redis.

/* Deletes <key-1> from datastore */
jedis.del("key-1");
		
/* Deletes <key-1> <key-2> <key-3> from datastore */
jedis.del("key-1", "key-2", "key-3");

Tồn tại

tồn tại được sử dụng để kiểm tra xem khóa có tồn tại trong kho dữ liệu redis hay không.

/* Check if <key-1> exist in datastore or not */
Boolean exist = jedis.exists("key-1");

/* Check if <key-1>, <key-2>, <key-3> exist in datastore or not */
Long exist = jedis.exists("key-1", "key-2", "key-3");
/* 1 is returned if any one of then is present otherwise 0 is returned. */

Loại

loại được sử dụng để lấy kiểu dữ liệu của kho giá trị trong khóa.

/* Returns datatype of the value store at <key-1> */
jedis.type("key-1");

Bán phá giá

đổ phương thức trả về phiên bản tuần tự hóa của giá trị được lưu trữ tại khóa.

/* Returns serialized value stored at <key-1> */
jedis.dump("key-1");

Đổi tên

Có hai phương pháp để đổi tên khóa được lưu trữ trong kho dữ liệu. Chúng như sau:-

  1. đổi tên:- Nó đổi tên khóa từ tên cũ thành tên mới. Nếu một khóa có tên mới đã tồn tại, nó sẽ bị ghi đè và khóa có tên cũ sẽ bị xóa nếu không khóa có tên cũ sẽ được đổi thành tên mới.
    /* Rename key from <old-key> to <new-key> */
    jedis.rename("old-key", "new-key");
  2. renamenx:- Nó chỉ đổi tên khóa từ tên cũ thành tên mới nếu khóa có tên mới không tồn tại.
    /* Rename key from <old-key> to <new-key> */
    jedis.renamenx("old-key", "new-key");

Tài liệu tham khảo:-

  1. Tài liệu Lệnh chính

Đó là tất cả về cách thực hiện thao tác CRUD trên khóa bằng thư viện Jedis. Nếu bạn thích nó, hãy chia sẻ suy nghĩ của bạn trong phần bình luận và chia sẻ nó với những người khác.