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

Redis Jedis - Cách thực hiện các hoạt động CRUD trên giá trị đặt 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 một giá trị đã đặt 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.

Đặt giá trị

Tập hợp là một tập hợp các phần tử duy nhất không có thứ tự, Trong Redis, các tập hợp có thể được lưu trữ dưới dạng một giá trị và các lệnh redis khác nhau có thể được sử dụng để lưu trữ, quản lý và truy xuất một giá trị tập hợp được lưu trữ trong cơ sở dữ liệu redis. Bạn có thể tìm thêm thông tin về Đặt lệnh 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ạo &Thêm

sadd phương thức chèn một hoặc nhiều phần tử trong giá trị đặt. Nếu giá trị đặt không tồn tại, thì trước tiên nó tạo một khóa giữ giá trị đặt trống trước khi thực hiện thao tác chèn.

/* Creating a new set <set-1> and inserting string values a, b, c, d */
jedis.sadd("set-1", "a", "b", "c", "d");

/* Creating a new set <set-2> and inserting string values 1, 2 */
jedis.sadd("set-2".getBytes(),"1".getBytes(),"2".getBytes());

Kiểm tra sự tồn tại của thành viên

sismember phương pháp được sử dụng để kiểm tra xem phần tử được chỉ định có phải là thành viên của tập hợp hay không.

/* Check if ab is a member of <set-1> or not */
jedis.sismember("set-1", "ab");

/* Check if 1 is a member of <set-2> or not */
jedis.sismember("set-2".getBytes(), "1".getBytes());

Xóa và trả lại

spop phương thức được sử dụng để loại bỏ và trả về một hoặc nhiều phần tử ngẫu nhiên từ một giá trị tập hợp được lưu trữ tại một khóa.

/* Removes and return single random element from the <set-1> */
jedis.spop("set-1");

/* Removes and return 3 random element from the <set-1> */
jedis.spop("set-1", 3);

Kích thước

scard phương thức được sử dụng để lấy kích thước của một giá trị đã đặt được lưu trữ tại một khóa.

/* Returns size of <set-1> */
jedis.scard("set-1");

Xóa

srem được sử dụng để xóa một hoặc nhiều phần tử khỏi giá trị đặt.

/* Remove a, b, c elements from <set-1> */
jedis.srem("set-1", "a", "b", "c");
		
/* Remove 2, 3 elements from <set-2> */
jedis.srem("set-1".getBytes(), "1".getBytes(), "b".getBytes());

Nhận tất cả

người bôi nhọ phương thức được sử dụng để lấy tất cả các phần tử của một giá trị đặt.

/* Returns all elements from <set-1> */
jedis.smembers("set-1");

Công đoàn

Có hai phương pháp để thực hiện hoạt động liên hợp trên một giá trị đã đặt. Chúng như sau:-

  1. sunion:- Nó thực hiện phép toán liên hợp trên hai hoặc nhiều bộ và trả về kết quả là một mảng.
    /* Get Union of <set-1>, <set-2> */
    jedis.sunion("set-1", "set-2");
  2. suniontore:- Nó thực hiện phép toán liên hợp trên hai hoặc nhiều bộ và trả về kết quả trong một giá trị bộ mới.
    /* Get Union of <set-1>, <set-2> in set destination set <set-3> */
    jedis.sunionstore("set-3", "set-1", "set-2");

Giao lộ

Có hai phương pháp để thực hiện thao tác giao nhau trên một giá trị đã đặt. Chúng như sau:-

  1. sinter:- Nó thực hiện thao tác giao nhau trên hai hoặc nhiều tập hợp và trả về kết quả là một mảng.
    /* Get Intersection of <set-1>, <set-2> */
    jedis.sinter("set-1", "set-2");
  2. sinterstore:- Nó thực hiện giao nhau trên hai hoặc nhiều tập hợp và trả về kết quả trong một giá trị đặt mới.
    /* Get Intersection of <set-1>, <set-2> in set destination set <set-3> */
    jedis.sinterstore("set-3", "set-1", "set-2");

Sự khác biệt

Có hai phương pháp để thực hiện hoạt động chênh lệch trên một giá trị đã đặt. Chúng như sau:-

  1. sdiff:- Nó thực hiện sự khác biệt trên hai hoặc nhiều tập hợp và trả về kết quả dưới dạng một mảng.
    /* Get Difference of <set-1>, <set-2> */
    jedis.sdiff("set-1", "set-2");
  2. sdiffstore:- Nó thực hiện sự khác biệt trên hai hoặc nhiều tập hợp và trả về kết quả trong một giá trị tập hợp mới.
    /* Get Difference of <set-1>, <set-2> in set destination set <set-3> */
    jedis.sdiffstore("set-3", "set-1", "set-2");

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

  1. Đặt các Tài liệu Lệnh

Đó là tất cả về cách thực hiện thao tác CRUD trên một giá trị đã đặt 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.