Có chức năng nào trong đá quý redis-rb trả về danh sách tất cả các khóa được lưu trữ trong DB không? Mục tiêu cuối cùng của tôi là lặp lại tất cả các cặp khóa/giá trị của tôi và thực hiện một số hành động trên chúng.Lấy danh sách tất cả các khóa được lưu trữ trong Redis (Ruby)
18
A
Trả lời
22
Chắc chắn, redis-rb hiển thị tất cả các lệnh Redis và trình bày chúng như là các phương thức trên đối tượng khách hàng của bạn.
redis.keys('*')
4
redis.keys
điều này sẽ trả lại kết quả dưới dạng mảng. biết thêm
12
Nếu bạn có bất kỳ số lượng đáng kể của các bản ghi trong db của bạn, kernel sẽ giết redis.keys
bởi vì nó sẽ được tham gia quá nhiều RAM của bạn.
Điều bạn muốn là giải nén các khóa theo lô. redis-rb có một phương pháp tuyệt vời cho điều này (không có mặt trong redis tự):
redis.scan_each(match: 'user:*') do |resume_key_name|
resume_key_name #=> "user:12"
end
Nếu bạn muốn tất cả các phím, chỉ cần không sử dụng tùy chọn match
.
Các vấn đề liên quan
- 1. Xóa tất cả các mục nhập trong danh sách Redis
- 2. các khóa danh sách của tất cả các tập tin được lưu trong bộ nhớ cache
- 3. Làm cách nào để lấy tất cả các khóa được lưu trữ trong họ cột Cassandra bằng pycassa?
- 4. Làm thế nào để lấy danh sách tất cả kho lưu trữ github của một người?
- 5. android dexclassloader lấy danh sách tất cả các lớp
- 6. Cách lấy danh sách tất cả các đối tượng? - PostgreSQL
- 7. Lấy Danh sách tất cả các Màn hình Xorg
- 8. Ruby Rspec. Lấy danh sách của tất cả các thử nghiệm
- 9. Trong Redis là tất cả các khóa băm được lưu trữ trong cùng một "bảng"? và nếu như vậy nó ảnh hưởng đến hiệu suất như thế nào?
- 10. Lấy danh sách tất cả các tập tin bên trong một thư mục trong vb.net
- 11. Cách nhận tất cả các mục khác trong danh sách
- 12. Nhận tất cả các kết hợp các cặp từ một danh sách trong Ruby
- 13. Cách lấy danh sách tất cả các tuyến đường được sử dụng trong ứng dụng Sinatra?
- 14. Cách lấy danh sách tất cả các tệp video trong iPhone
- 15. Redis lấy tất cả các giá trị của danh sách mà không lặp lại và không có popping
- 16. Lưu trữ Danh sách các đối tượng
- 17. Làm thế nào tôi có thể nhận được tất cả các bộ trong redis?
- 18. C#/SQL Lấy tất cả các thủ tục được lưu trữ và mã số của chúng
- 19. đối tượng lưu trữ node.js trong redis
- 20. Lấy danh sách các thủ tục được lưu trữ đã lọc bằng t-sql
- 21. Danh sách các thủ tục được lưu trữ từ Bảng
- 22. Cách đơn giản để lập trình có được tất cả các thủ tục được lưu trữ
- 23. Danh sách tất cả các máy chủ trên mạng LAN
- 24. AppleScript: Lấy danh sách tất cả các thuộc tính của một đối tượng hoặc lớp
- 25. Lưu trữ một băm MessagePacked trong Redis
- 26. LINQ: Nhận danh sách tất cả các bảng trong DataContext
- 27. Thu hẹp tất cả các phần tử trong danh sách
- 28. Lưu trữ tất cả các chữ viết hoa trong BibTeX
- 29. Cách lấy danh sách tất cả các nút con trong TreeView trong .NET
- 30. Lấy danh sách tất cả các máy chủ in trong miền trong C#
Điều này cực kỳ chậm đối với tôi; mất khoảng 15 giây để quay lại cơ sở dữ liệu Redis chỉ với các phím 5.6K. –
@AbeVoelker Bạn có thể sử dụng redis với 'pipelined', sẽ nhanh hơn – fangxing
xem câu trả lời @Alex. đơn giản và dễ hiểu –