Cách quản lý các bộ được sắp xếp trong Redis
Redis là một repodata key-value open-souce trong bộ nhớ. Trong Redis, các tập hợp đã sắp xếp là một kiểu dữ liệu tương tự như các tập hợp trong đó cả hai đều là các group chuỗi không lặp lại. Sự khác biệt là mỗi thành viên của một tập hợp được sắp xếp được liên kết với một điểm số, cho phép chúng được sắp xếp từ điểm số nhỏ nhất đến điểm lớn nhất. Giống như với tập hợp, mọi thành viên của tập hợp được sắp xếp phải là duy nhất, mặc dù nhiều thành viên có thể chia sẻ cùng một điểm.Hướng dẫn này giải thích cách tạo các tập hợp đã sắp xếp, truy xuất và xóa các thành viên của chúng cũng như tạo các tập hợp được sắp xếp mới từ các tập hợp hiện có.
Cách sử dụng Hướng dẫn này
Hướng dẫn này được viết như một bảng lừa đảo với các ví dụ riêng. Ta khuyến khích bạn chuyển đến bất kỳ phần nào có liên quan đến nhiệm vụ bạn đang cố gắng hoàn thành.
Các lệnh hiển thị trong hướng dẫn này đã được thử nghiệm trên server Ubuntu 18.04 chạy Redis version 4.0.9 . Để cài đặt một môi trường tương tự, bạn có thể làm theo Bước 1 trong hướng dẫn của ta về Cách cài đặt và bảo mật Redis trên Ubuntu 18.04 . Ta sẽ chứng minh các lệnh này hoạt động như thế nào bằng cách chạy chúng với redis-cli
, giao diện dòng lệnh Redis. Lưu ý nếu bạn đang sử dụng một giao diện Redis khác - ví dụ như Redli - kết quả kết quả chính xác của một số lệnh nhất định có thể khác nhau.
Ngoài ra, bạn có thể cung cấp một version database Redis được quản lý để kiểm tra các lệnh này, nhưng lưu ý tùy thuộc vào mức độ kiểm soát được nhà cung cấp database của bạn cho phép, một số lệnh trong hướng dẫn này có thể không hoạt động như được mô tả. Để cung cấp Dịch vụ database DigitalOcean, hãy làm theo tài liệu sản phẩm Dịch vụ database của ta . Sau đó, bạn phải cài đặt Redli hoặc cài đặt tunnel TLS để kết nối với Dịch vụ database qua TLS.
Tạo group đã sắp xếp và thêm thành viên
Để tạo một tập hợp đã sắp xếp, hãy sử dụng lệnh zadd
. zadd
chấp nhận làm đối số là tên của khóa sẽ giữ tập hợp đã sắp xếp, theo sau là điểm của thành viên bạn đang thêm và giá trị của chính thành viên đó. Lệnh sau sẽ tạo một khóa tập hợp được sắp xếp có tên là faveGuitarists
với một thành viên, "Joe Pass"
, có điểm là 1
:
- zadd faveGuitarists 1 "Joe Pass"
zadd
sẽ trả về một số nguyên cho biết có bao nhiêu phần tử đã được thêm vào tập hợp đã sắp xếp nếu nó được tạo thành công.
Output(integer) 1
Bạn có thể thêm nhiều hơn một thành viên vào một tập hợp được sắp xếp với zadd
. Lưu ý điểm số của họ không cần tuần tự, có thể có khoảng cách giữa các điểm số và nhiều thành viên được tổ chức trong cùng một group được sắp xếp có thể chia sẻ cùng một điểm số:
- zadd faveGuitarists 4 "Stephen Malkmus" 2 "Rosetta Tharpe" 3 "Bola Sete" 3 "Doug Martsch" 8 "Elizabeth Cotten" 12 "Nancy Wilson" 4 "Memphis Minnie" 12 "Michael Houser"
Output(integer) 8
zadd
có thể chấp nhận các tùy chọn sau mà bạn phải nhập sau tên khóa và trước điểm thành viên đầu tiên:
-
NX
hoặcXX
: Các tùy chọn này có tác dụng ngược lại, vì vậy bạn chỉ có thể đưa một trong số chúng vào bất kỳ thao táczadd
nào:-
NX
: Yêu cầuzadd
không cập nhật các thành viên hiện có. Với tùy chọn này,zadd
sẽ chỉ thêm các phần tử mới. -
XX
: Chozadd
chỉ cập nhật các phần tử hiện có. Với tùy chọn này,zadd
sẽ không bao giờ thêm thành viên mới.
-
-
CH
: Thông thường,zadd
chỉ trả về số phần tử mới được thêm vào tập hợp đã sắp xếp. Tuy nhiên, với tùy chọn này được bao gồm,zadd
sẽ trả về số phần tử đã thay đổi . Điều này bao gồm các thành viên mới được thêm vào và các thành viên có điểm đã thay đổi. -
INCR
: Điều này làm cho lệnh tăng giá trị điểm của thành viên. Nếu thành viên chưa tồn tại, lệnh sẽ thêm nó vào tập hợp đã sắp xếp với phần gia tăng là điểm của nó, như thể điểm ban đầu của nó là0
. VớiINCR
bao gồm,zadd
sẽ trả về điểm số mới của thành viên nếu nó thành công. Lưu ý bạn chỉ có thể bao gồm một điểm / cặp thành viên tại một thời điểm khi sử dụng tùy chọn này.
Thay vì chuyển tùy chọn INCR
cho zadd
, thay vào đó bạn có thể sử dụng lệnh zincrby
hoạt động theo cùng một cách. Thay vì cung cấp cho thành viên group được sắp xếp giá trị được chỉ ra bởi giá trị điểm như zadd
, nó tăng điểm của thành viên đó lên bằng giá trị đó. Ví dụ: lệnh sau tăng điểm của thành viên "Stephen Malkmus"
, ban đầu là 4
, tăng 5
lên 9
.
- zincrby faveGuitarists 5 "Stephen Malkmus"
Output"9"
Như là trường hợp với các zadd
lệnh của INCR
tùy chọn, nếu các thành viên được chỉ định không tồn tại sau đó zincrby
sẽ tạo ra nó với giá trị thặng dư là số điểm của bạn .
Lấy thành viên từ các group đã được sắp xếp
Cách cơ bản nhất để truy xuất các thành viên được giữ trong một tập hợp đã sắp xếp là sử dụng lệnh zrange
. Lệnh này chấp nhận làm đối số là tên của khóa có các thành viên bạn muốn truy xuất và một loạt các thành viên được giữ trong nó. Phạm vi được xác định bởi hai số đại diện cho các chỉ số dựa trên 0
, nghĩa là 0
đại diện cho thành viên đầu tiên trong tập hợp đã sắp xếp (hoặc, thành viên có điểm thấp nhất), 1
đại diện cho phần tiếp theo, v.v.
Ví dụ sau sẽ trả về bốn thành viên đầu tiên từ tập hợp được sắp xếp của faveGuitarists
được tạo trong phần trước:
- zrange faveGuitarists 0 3
Output1) "Joe Pass" 2) "Rosetta Tharpe" 3) "Bola Sete" 4) "Doug Martsch"
Lưu ý nếu tập hợp đã sắp xếp mà bạn chuyển cho zrange
có hai hoặc nhiều phần tử có cùng điểm, nó sẽ sắp xếp các phần tử đó theo thứ tự từ vựng hoặc bảng chữ cái.
Chỉ số bắt đầu và chỉ số dừng cũng có thể là số âm, với -1
đại diện cho thành viên cuối cùng, -2
đại diện cho thứ hai đến cuối cùng, v.v.
- zrange faveGuitarists -5 -2
Output1) "Memphis Minnie" 2) "Elizabeth Cotten" 3) "Stephen Malkmus" 4) "Michael Houser"
zrange
có thể chấp nhận đối số WITHSCORES
, khi được đưa vào, cũng sẽ trả về điểm của các thành viên:
- zrange faveGuitarists 5 6 WITHSCORES
Output1) "Elizabeth Cotten" 2) "8" 3) "Stephen Malkmus" 4) "9"
zrange
chỉ có thể trả về một phạm vi thành viên theo thứ tự số tăng dần. Để đảo ngược điều này và trả về một phạm vi theo thứ tự giảm dần, bạn phải sử dụng lệnh zrevrange
. Hãy coi lệnh này tạm thời đảo ngược thứ tự của tập hợp đã sắp xếp trước khi trả về các thành viên nằm trong phạm vi được chỉ định. Vì vậy, với zrevrange
, 0
sẽ đại diện cho thành viên cuối cùng được giữ trong khóa, 1
sẽ đại diện cho thành viên thứ hai đến cuối cùng , v.v.
- zrevrange faveGuitarists 0 5
Output1) "Nancy Wilson" 2) "Michael Houser" 3) "Stephen Malkmus" 4) "Elizabeth Cotten" 5) "Memphis Minnie" 6) "Doug Martsch"
zrevrange
cũng có thể chấp nhận tùy chọn WITHSCORES
.
Bạn có thể trả về một loạt các thành viên dựa trên điểm của họ bằng lệnh zrangebyscore
. Trong ví dụ sau, lệnh sẽ trả về bất kỳ thành viên nào được giữ trong khóa faveGuitarists
với số điểm là 2, 3 hoặc 4:
- zrangebyscore faveGuitarists 2 4
Output1) "Rosetta Tharpe" 2) "Bola Sete" 3) "Doug Martsch" 4) "Memphis Minnie"
Phạm vi có trong ví dụ này, nghĩa là nó sẽ trả về các thành viên có điểm là 2 hoặc 4. Bạn có thể loại trừ một trong hai phần cuối của phạm vi bằng cách đặt trước nó bằng dấu ngoặc đơn mở ( (
). Ví dụ sau sẽ trả về mọi thành viên có điểm lớn hơn hoặc bằng 2
, nhưng nhỏ hơn 4
:
- zrangebyscore faveGuitarists 2 (4
Output1) "Rosetta Tharpe" 2) "Bola Sete" 3) "Doug Martsch"
Giống như với zrange
, zrangebyscore
có thể chấp nhận đối số WITHSCORES
. Nó cũng chấp nhận tùy chọn LIMIT
, mà bạn có thể sử dụng để truy xuất chỉ một lựa chọn các phần tử từ kết quả zrangebyscore
. Tùy chọn này chấp nhận một phần bù , đánh dấu phần tử đầu tiên trong phạm vi mà lệnh sẽ trả về và một số đếm, xác định tổng số thành phần mà lệnh sẽ trả về. Ví dụ: lệnh sau sẽ xem xét sáu thành viên đầu tiên của tập hợp được sắp xếp faveGuitarists
nhưng sẽ chỉ trả về 3 thành viên từ nó, bắt đầu từ thành viên thứ hai trong phạm vi, được đại diện bởi 1
:
- zrangebyscore faveGuitarists 0 5 LIMIT 1 3
Output1) "Rosetta Tharpe" 2) "Bola Sete" 3) "Doug Martsch"
Lệnh zrevrangebyscore
trả về một phạm vi đảo ngược các thành viên dựa trên điểm số của họ. Lệnh sau trả về mọi thành viên của tập hợp có điểm từ 10 đến 6:
- zrevrangebyscore faveGuitarists 10 6
Output1) "Stephen Malkmus" 2) "Elizabeth Cotten"
Giống như với zrangebyscore
, zrevrangebyscore
có thể chấp nhận cả tùy chọn WITHSCORES
và LIMIT
. Ngoài ra, bạn có thể loại trừ một trong hai phần cuối của phạm vi bằng cách đặt trước nó bằng một dấu ngoặc đơn mở.
Có thể có lúc tất cả các thành viên trong một group được sắp xếp có cùng số điểm. Trong trường hợp như vậy, bạn có thể buộc redis trả về một dải các phần tử được sắp xếp theo từ điển hoặc theo thứ tự bảng chữ cái, bằng lệnh zrangebylex
. Để thử lệnh này, hãy chạy lệnh zadd
sau để tạo một tập hợp được sắp xếp trong đó mỗi thành viên có cùng số điểm:
- zadd SomervilleSquares 0 Davis 0 Inman 0 Union 0 porter 0 magoun 0 ball 0 assembly
zrangebylex
phải được theo sau bởi tên của khóa, khoảng bắt đầu và khoảng dừng. Khoảng bắt đầu và khoảng dừng phải bắt đầu bằng dấu ngoặc mở ( (
) hoặc dấu ngoặc mở ( [
), như sau:
- zrangebylex SomervilleSquares [a [z
Output1) "assembly" 2) "ball" 3) "magoun" 4) "porter"
Lưu ý ví dụ này chỉ trả về bốn trong số tám thành viên trong tập hợp, mặc dù lệnh tìm kiếm một phạm vi từ a
đến z
. Điều này là do giá trị Redis phân biệt chữ hoa chữ thường, vì vậy các thành viên bắt đầu bằng chữ hoa đã bị loại trừ khỏi kết quả của nó. Để trả lại những thứ đó, bạn có thể chạy như sau:
- zrangebylex SomervilleSquares [A [z
Output1) "Davis" 2) "Inman" 3) "Union" 4) "assembly" 5) "ball" 6) "magoun" 7) "porter"
zrangebylex
cũng chấp nhận các ký tự đặc biệt -
, đại diện cho âm vô cực và +
, đại diện cho dương vô cùng. Do đó, cú pháp lệnh sau cũng sẽ trả về mọi thành viên của tập hợp đã sắp xếp:
- zrangebylex SomervilleSquares - +
Lưu ý zrangebylex
không thể trả về các thành viên được sắp xếp theo thứ tự từ vựng ngược lại (theo thứ tự bảng chữ cái tăng dần). Để làm điều đó, hãy sử dụng zrevrangebylex
:
- zrevrangebylex SomervilleSquares + -
Output1) "porter" 2) "magoun" 3) "ball" 4) "assembly" 5) "Union" 6) "Inman" 7) "Davis"
Bởi vì nó được thiết kế để sử dụng với các tập hợp được sắp xếp trong đó mọi thành viên có cùng điểm số, zrangebylex
không chấp nhận tùy chọn WITHSCORES
. Tuy nhiên, nó chấp nhận tùy chọn LIMIT
.
Truy xuất thông tin về các bộ được sắp xếp
Để tìm hiểu có bao nhiêu thành viên đang ở trong một bộ sắp xếp nhất định (hoặc, nói cách khác, để xác định nó cardinality ), sử dụng zcard
lệnh. Ví dụ sau đây cho thấy số lượng thành viên được giữ trong khóa faveGuitarists
từ phần đầu tiên của hướng dẫn này:
- zcard faveGuitarists
Output(integer) 9
zcount
có thể cho bạn biết có bao nhiêu phần tử được giữ trong một tập hợp được sắp xếp nhất định nằm trong một phạm vi điểm số. Số đầu tiên theo sau khóa là số bắt đầu của dải ô và số thứ hai là số cuối của dải ô:
- zcount faveGuitarists 3 8
Output(integer) 4
zscore
xuất ra điểm của một thành viên được chỉ định của một tập hợp được sắp xếp:
- zscore faveGuitarists "Bola Sete"
Output"3"
Nếu thành viên hoặc khóa được chỉ định không tồn tại, zscore
sẽ trả về (nil)
.
zrank
tương tự như zscore
, nhưng thay vì trả về điểm của thành viên đã cho, nó trả về thứ hạng của nó. Trong Redis, xếp hạng là một chỉ số dựa trên 0 của các thành viên của một tập hợp được sắp xếp, được sắp xếp theo điểm của họ. Ví dụ: "Joe Pass"
có điểm là 1
, nhưng vì đó là điểm thấp nhất của bất kỳ thành viên nào trong khóa nên nó có thứ hạng là 0
:
- zrank faveGuitarists "Joe Pass"
Output(integer) 0
Có một lệnh Redis khác gọi là zrevrank
thực hiện chức năng tương tự như zrank
, nhưng thay vào đó đảo ngược thứ hạng của các thành viên trong tập hợp. Trong ví dụ sau, thành viên "Joe Pass"
có điểm thấp nhất và do đó có thứ hạng đảo ngược cao nhất:
- zrevrank faveGuitarists "Joe Pass"
Output(integer) 8
Mối quan hệ duy nhất giữa điểm của một thành viên và thứ hạng của họ là điểm của họ đứng so với điểm của các thành viên khác. Nếu có khoảng cách điểm giữa hai thành viên tuần tự, điều đó sẽ không được phản ánh trong thứ hạng của họ. Lưu ý nếu hai thành viên có cùng số điểm, thành viên nào đứng đầu tiên theo thứ tự bảng chữ cái sẽ có thứ hạng thấp hơn.
Giống như zscore
, zrank
và zrevrank
sẽ trả về (nil)
nếu khóa hoặc thành viên không tồn tại.
zlexcount
có thể cho bạn biết có bao nhiêu thành viên được tổ chức trong một tập hợp được sắp xếp giữa một phạm vi từ vựng. Ví dụ sau sử dụng tập hợp được sắp xếp SomervilleSquares
từ phần trước:
- zlexcount SomervilleSquares [M [t
Output(integer) 5
Lệnh này tuân theo cú pháp tương tự như lệnh zrangebylex
, vì vậy hãy tham khảo phần trước để biết chi tiết về cách xác định phạm vi chuỗi.
Xóa thành viên khỏi group đã sắp xếp
Lệnh zrem
có thể xóa một hoặc nhiều thành viên khỏi một tập hợp được sắp xếp:
- zrem faveGuitarists "Doug Martsch" "Bola Sete"
zrem
sẽ trả về một số nguyên cho biết nó đã loại bỏ bao nhiêu thành viên khỏi tập hợp đã sắp xếp:
Output(integer) 2
Có ba lệnh Redis cho phép bạn xóa các thành viên của một tập hợp được sắp xếp dựa trên một phạm vi. Ví dụ: nếu mỗi thành viên trong một tập hợp đã sắp xếp có cùng số điểm, bạn có thể xóa các thành viên dựa trên phạm vi từ vựng bằng zremrangebylex
. Lệnh này sử dụng cú pháp tương tự như zrangebylex
. Ví dụ sau sẽ xóa mọi thành viên bắt đầu bằng chữ hoa từ khóa SomervilleSquares
được tạo trong phần trước:
- zremrangebylex SomervilleSquares [A [Z
zremrangebylex
sẽ xuất ra một số nguyên cho biết nó đã loại bỏ bao nhiêu phần tử:
Output(integer) 3
Bạn cũng có thể xóa các thành viên dựa trên phạm vi điểm bằng lệnh zremrangebyscore
, sử dụng cú pháp tương tự như lệnh zrangebyscore
. Ví dụ sau sẽ xóa mọi thành viên được tổ chức trong faveGuitarists
có điểm 4, 5 hoặc 6:
- zremrangebyscore faveGuitarists 4 6
Output(integer) 1
Bạn có thể xóa các thành viên khỏi một tập hợp dựa trên một loạt các cấp bậc bằng lệnh zremrangebyrank
, sử dụng cú pháp tương tự như zrangebyrank
. Lệnh sau sẽ loại bỏ ba thành viên của tập hợp được sắp xếp có thứ hạng thấp nhất, được xác định bởi một loạt các index dựa trên 0:
- zremrangebyrank faveGuitarists 0 2
Output(integer) 3
Lưu ý các số được chuyển đến remrangebyrank
cũng có thể là số âm, với -1
đại diện cho thứ hạng cao nhất, -2
là cao nhất tiếp theo, v.v.
Tạo bộ được sắp xếp mới từ các bộ hiện có
Redis bao gồm hai lệnh cho phép bạn so sánh các thành viên của nhiều tập hợp đã được sắp xếp và tạo những tập hợp mới dựa trên những so sánh đó: zinterstore
và zunionstore
. Để thử nghiệm với các lệnh này, hãy chạy các lệnh zadd
sau để tạo một số bộ được sắp xếp mẫu.
- zadd NewKids 1 "Jonathan" 2 "Jordan" 3 "Joey" 4 "Donnie" 5 "Danny"
- zadd Nsync 1 "Justin" 2 "Chris" 3 "Joey" 4 "Lance" 5 "JC"
zinterstore
tìm các thành viên được chia sẻ bởi hai hoặc nhiều tập hợp được sắp xếp - giao điểm của chúng - và tạo ra một tập hợp được sắp xếp mới chỉ chứa các thành viên đó. Lệnh này phải bao gồm, theo thứ tự, tên của khóa đích nơi các thành viên giao nhau sẽ được lưu trữ dưới dạng tập hợp được sắp xếp, số lượng khóa được chuyển đến zinterstore
và tên của các khóa bạn muốn phân tích:
- zinterstore BoyBands 2 NewKids Nsync
zinterstore
sẽ trả về một số nguyên hiển thị số phần tử được lưu trữ trong tập hợp được sắp xếp đích. Vì NewKids
và Nsync
chỉ chia sẻ một thành viên, "Joey"
, lệnh sẽ trả về 1
:
Output(integer) 1
Lưu ý nếu khóa đích đã tồn tại, zinterstore
sẽ overrides nội dung của nó.
zunionstore
sẽ tạo một tập hợp được sắp xếp mới chứa mọi thành viên của các khóa được chuyển cho nó. Lệnh này sử dụng cú pháp tương tự như zinterstore
và yêu cầu tên của khóa đích, số khóa được chuyển đến lệnh và tên của các khóa:
- zunionstore SuperGroup 2 NewKids Nsync
Giống như zinterstore
, zunionstore
sẽ trả về một số nguyên hiển thị số phần tử được lưu trữ trong khóa đích. Mặc dù cả hai tập hợp được sắp xếp ban đầu đều có năm thành viên, vì các tập hợp đã sắp xếp không thể có các thành viên lặp lại và mỗi khóa có một thành viên có tên "Joey"
, số nguyên kết quả sẽ là 9
:
Output(integer) 9
Giống như zinterstore
, zunionstore
sẽ overrides lên nội dung của khóa đích nếu nó đã tồn tại.
Để cung cấp cho bạn nhiều quyền kiểm soát hơn đối với điểm số của thành viên khi tạo các group được sắp xếp mới với zinterstore
và zunionstore
, cả hai lệnh này đều chấp nhận các tùy chọn WEIGHTS
và AGGREGATE
.
Tùy chọn WEIGHTS
được theo sau bởi một số cho mọi tập hợp đã sắp xếp có trong lệnh có trọng số hoặc nhân, điểm của mỗi thành viên. Số đầu tiên sau tùy chọn WEIGHTS
trọng số của khóa đầu tiên được chuyển đến lệnh, số thứ hai có trọng số đối với khóa thứ hai, v.v.
Ví dụ sau tạo một tập hợp được sắp xếp mới chứa các khóa giao nhau từ các tập hợp được sắp xếp NewKids
và Nsync
. Nó trọng số điểm trong khóa NewKids
theo hệ số ba và trọng số điểm trong khóa Nsync
theo hệ số bảy:
- zinterstore BoyBandsWeighted 2 NewKids Nsync WEIGHTS 3 7
Nếu tùy chọn WEIGHTS
không được bao gồm, trọng số sẽ mặc định là 1
cho cả zinterstore
và zunionstore
.
AGGREGATE
chấp nhận ba tùy chọn phụ. Đầu tiên trong số này, SUM
, thực hiện hành vi mặc định của zinterstore
và zunionstore
bằng cách thêm điểm số của các thành viên phù hợp trong các tập hợp được kết hợp.
Nếu bạn chạy một zinterstore
hoặc zunionstore
hoạt động trên hai bộ được sắp xếp mà phần một thành viên, nhưng thành viên này có một số điểm khác nhau trong mỗi cài đặt , bạn có thể buộc các hoạt động chuyển nhượng thấp hơn giữa hai điểm trong tập mới với MIN
suboption.
- zinterstore BoyBandsWeightedMin 2 NewKids Nsync WEIGHTS 3 7 AGGREGATE MIN
Bởi vì hai tập hợp đã sắp xếp chỉ có một thành viên phù hợp có cùng điểm ( 3
), lệnh này sẽ tạo một tập hợp mới với một thành viên có điểm thấp hơn trong hai điểm có trọng số:
- zscore BoyBandsWeightedMin "Joey"
Output"9"
Tương tự như vậy, AGGREGATE
có thể buộc zinterstore
hoặc zunionstore
chỉ định điểm số cao hơn trong hai điểm với tùy chọn MAX
:
- zinterstore BoyBandsWeightedMax 2 NewKids Nsync WEIGHTS 3 7 AGGREGATE MAX
Lệnh này tạo một tập hợp mới với trên một thành viên, "Joey"
, có điểm cao hơn trong hai điểm có trọng số:
- zscore BoyBandsWeightedMax "Joey"
Output"21"
Có thể hữu ích nếu coi WEIGHTS
như một cách để điều khiển tạm thời điểm số của các thành viên trước khi chúng được phân tích. Tương tự như vậy, sẽ rất hữu ích khi nghĩ đến tùy chọn AGGREGATE
như một cách để quyết định cách kiểm soát điểm số của các thành viên trước khi họ được thêm vào group mới của bạn .
Kết luận
Hướng dẫn này trình bày chi tiết một số lệnh được sử dụng để tạo và quản lý các tập hợp được sắp xếp trong Redis. Nếu có các lệnh, đối số hoặc quy trình liên quan khác mà bạn muốn xem được nêu trong hướng dẫn này, vui lòng hỏi hoặc đưa ra đề xuất trong phần comment bên dưới.
Để biết thêm thông tin về các lệnh Redis, hãy xem loạt bài hướng dẫn của ta về Cách quản lý database Redis .
Các tin liên quan
Cách thêm Sidekiq và Redis vào ứng dụng Ruby on Rails2019-11-22
Cách hết hạn khóa trong Redis
2019-10-08
Cách quản lý bản sao và khách hàng trong Redis
2019-10-08
Cách thực hiện giao dịch trong Redis
2019-10-01
Cách phân tích thống kê database Redis được quản lý bằng cách sử dụng elastic trên Ubuntu 18.04
2019-09-27
Cách quản lý bộ trong Redis
2019-09-26
Cách quản lý database và khóa Redis
2019-09-20
Cách quản lý danh sách trong Redis
2019-09-20
Cách quản lý hàm băm trong Redis
2019-09-20
Cách khắc phục sự cố trong Redis
2019-09-20