Bài viết được sự cho phép của tác giả Tống Xuân Hoài Vấn đề Tôi đã có một bài viết về vấn đề blog của tôi sử dụng RediSearch làm cơ sở dữ liệu chính ở RediSearch là gì? Estacks đang sử dụng RediSearch làm cơ sở dữ liệu!, bên cạnh đó là lý do tôi dùng RediSearch vì tính năng Tìm kiếm fulltext trong RediSearch mà tôi luôn muốn tìm kiếm của blog trở nên mạnh mẽ và hữu ích hơn cho bạn đọc. Cho đến hiện tại mọi thứ vẫn đang hoạt động rất tốt, chỉ có một điều Redis không có kiểu dữ liệu JSON trong khi tôi lại muốn thao tác với dữ liệu dạng JSON một cách thân thiện nhất. Do đó trong quá trình tìm hiểu tôi phát hiện ra Redis cung cấp một module có tên là RedisJSON đã giúp tôi làm được điều đó. Nếu như bạn đang dùng Redis hay RediSearch mà muốn thao tác với dữ liệu JSON thì đây quả là [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Redisson là một thư viện Java client cho Redis. Sử dụng nó, các bạn có thể thao tác, thêm xoá, sửa data và nhiều thao tác khác nữa với Redis server. Trong bài viết này, mình sẽ hướng dẫn các bạn những thao tác cơ bản với Redis sử dụng Redisson các bạn nhé! [irp posts="19648" name="15 ví dụ sử dụng map, reduce và filter"] [irp posts="44751" name="Cài đặt Redis sử dụng Docker"] Xem thêm các chương trình tuyển dụng Redux trên TopDev Đầu tiên, mình sẽ tạo mới một Maven project với Redisson dependency để làm ví dụ: <dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.16.3</version> </dependency> Nhớ start Redis server lên các bạn nhé! Có thể tham khảo cách cài đặt Redis server sử dụng Docker tại đây. Class RedissonExample có nội dung ban đầu như sau: package com.huongdanjava.redis; public class RedissonExample { public static void main(String[] args) { } } Chúng ta sẽ sử dụng đố [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Redis là một open-source cho phép chúng ta có thể lưu trữ data trong memory. Chúng ta có thể sử dụng Redis để làm database, caching hoặc message broker. Trong bài viết này, mình hướng dẫn các bạn cách cài đặt Redis sử dụng Docker các bạn nhé! [irp posts="4174" name="Cấu hình Redis Caching để tăng tốc site WordPress của bạn"] [irp posts="11034" name="Cách tạo một Docker đơn giản cho Node.JS"] Xem thêm các chương trình tuyển dụng Redux hấp dẫn trên TopDev Đầu tiên, các bạn có thể đi đến trang official Docker Image của Redis tại https://hub.docker.com/_/redis để kiểm tra version mới nhất của Redis Image. Sau đó thì sử dụng command docker run để cài đặt Redis như sau: docker run -p 6379:6379 -d redis Ở đây, mình đang sử dụng latest version của Redis, mình cũng expose port chạy mặc định của Redis là 6379 ra bên ngoài. Kết quả: Đến đây thì Redis đã được start rồi. docker ps -a Các bạn có [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Hữu Đồng Hế nhô các bạn, hôm nay mình xin được trình bày một giải pháp đơn giản để hạn chế spam connection tới server khiến server mất tài nguyên để xử lí. Mình sẽ dùng Redis để cache số request mà client đã thực hiện đến server, và dựa vào IP để xác minh client. Xác minh theo IP thì sẽ dẫn dến 1 hậu quả là sẽ vô tình từ chối connection đến từ các client khác sử dụng chung một network với client đó. Việc chọn thứ gì để phân biệt client thì đó là do các bạn lựa chọn nhưng trong bài này mình sẽ dựa vào IP để phân biệt người dùng :D [irp posts="32315" name="Generate fake UUID cực kì đơn giản"] [irp posts="19368" name="Áp dụng Rate Limiting vào hệ thống như thế nào?"] Trước hết Redis là một loại dữ diệu được lưu trữ có cấu trúc được lưu trong ram, nó được lưu trong Ram nên các thao tác đọc/ghi sẽ rấ [...]
Read more →Bài viết được sự cho phép của tác giả Nguyễn Hữu Đồng Trước khi nói tới redis, phải nói từ việc caching là và tầm quan trọng của caching. Bình thường, cứ mỗi yêu cầu từ phía client, hầu hết trong chúng ta ai cũng chạy vào database query thứ gì đó, sau đó làm vài việc rồi lại trả về kết quả cho client. Chuyện này vẫn bình thường cho tới khi số lượng request tăng lên đáng kể khiến CPU và Hard Disk gồng mình ra làm đi làm lại mãi cùng một việc, lấy data rồi lại trả về, thậm chí có những thứ đã lấy lần trước rồi tính toán xong xuôi rồi, biết kết quả rồi vẫn phải đi làm lại, thậm chí làm lại hàng ngìn lần. [irp posts="16088" name="AI-Powered Future: Data drive product - Trí tuệ nhân tạo vận hành Thế giới"] [irp posts="16088" name="AI-Powered Future: Data drive product - Trí tuệ nhân tạo vận hành [...]
Read more →Redis là gì? Redis là gì? - Redis (REmote DIctionary Server) là một mã nguồn mở được dùng để lưu trữ dữ liệu có cấu trúc, có thể sử dụng như một database, bộ nhớ cache hay một message broker. Nó là hệ thống lưu trữ dữ liệu với dạng KEY-VALUE rất mạnh mẽ và phổ biến hiện nay. Redis nổi bật bởi việc hỗ trợ nhiều cấu trúc dữ liệu cơ bản như:hash, list, set, sorted set, string... Tất cả dữ liệu được ghi và lưu trên ram, do đó tốc độ đọc ghi dữ liệu rất là nhanh. Các ứng dụng của Redis Sau khái niệm redis là gì thì chúng ta hãy đi đến ứng dụng của Redis ngoài tính năng lưu trữ KEY-VALUE trên RAM thì Redis còn hỗ trợ tính năng xắp xếp, query, backup dữ liệu trên đĩa cứng cho phép bạn có thể phục hồi dữ liệu khi hệ thống gặp sự cố...và có thể nhân bản (Chạy nhiều Server Redis cùng lúc). Caching: Sử dụng làm bộ nhớ đệm. Chính [...]
Read more →Redis là gì? Redis là một memory cache server hỗ trợ persistant data thông dụng nhất hiện nay. Nội dung chương này sẽ hướng dẫn bạn kết nối đến một Redis server (đã được cài đặt sẵn) thông qua thư viện redis-py. 10.1. Cài đặt Có thể xem thêm về hướng dẫn cài đặt thư viện này tại https://github.com/andymccurdy/redis-py Đơn giản cài thông qua pip là: $ sudo pip install redis 10.2 Kết nối đến Redis Để kết nối đến Redis server thì bạn có thể xem ví dụ sau: import redis r = redis.StrictRedis(host='localhost', port=6379, db=0) 10.3. Thực hiện lệnh Thực hiện các lệnh bình thường trên đối tượng redis. Ví dụ: import redis r = redis.StrictRedis(...) r.set('foo', 'bar') print r.get('foo') (Hiển thị 'bar') Tìm việc python không cần kinh nghiệm 10.4. Pipeline Pipeline là kỹ thuật được dùng trong trường hợp bạn muốn tăng performance bởi gộp nhiều lệnh vào một request thay vì mỗi lệnh là một request như thông thường. Xem ví dụ sau để hiểu cách sử dụng pipeline bằng [...]
Read more →Redis là cái gì? Hỏi hơi dư thừa vì có đầy trên mạng, nhưng tóm gọn lại cho bạn khỏi phải đi đâu lòng vòng nhé. Redis là hệ thống lưu trữ key-value với rất nhiều tính năng và được sử dụng rộng rãi. Redis nổi bật bởi việc hỗ trợ nhiều cấu trúc dữ liệu cơ bản (hash, list, set, sorted set, string. Bên cạnh lưu trữ key-value trên RAM với hiệu năng cao, redis còn hỗ trợ lưu trữ dữ liệu trên đĩa cứng (persistent redis) cho phép phục hồi dữ liệu khi gặp sự cố. Túm tụm lại là mình có thể lưu trữ dữ liệu với Mysql và dùng Redis để caching trên Ram nên nó sẽ ít truy vấn đến DB, chạy trên ram nữa nên truy suất dữ liệu cũng nhanh hơn bình thường. Trong tuts này mình sẽ hướng dẫn cấu hình cache với Redis để giảm các truy vấn dư thừa và tốn thời gian để render 1 page của [...]
Read more →