Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Sử dụng Redis để lưu trữ session, cookie trong Ruby on Rails - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

Deprecated: Implicit conversion from float 19.6 to int loses precision in /var/www/vinascript/html/wp-content/plugins/internal-links/core/links/text-to-link-converter-factory.php on line 36

Trong Ruby on Rails, mặc định, phiên làm việc được lưu trữ trong cookie trên trình duyệt của người dùng, mang theo rủi ro về an ninh dữ liệu. Hơn nữa, giới hạn dung lượng cookie của trình duyệt là 4kb, vượt quá sẽ gây lỗi và không thể lưu thêm thông tin phiên làm việc. Để giải quyết vấn đề này, việc lưu trữ phiên trên cơ sở dữ liệu hoặc Redis được đề xuất.

Trong bài viết này, trang web vinascript.com sẽ hướng dẫn cách lưu trữ phiên trên Redis Server, một ứng dụng lưu trữ dữ liệu trong bộ nhớ.

Hướng dẫn cài đặt Redis Server

Tiền đề bài viết này là mình sử dụng Ubuntu 16.04, và đã cài đặt Ruby on Rails trên Ubuntu

sudo apt-get install redis-server redis-tools

Kiểm tra Redis đã cài đặt thành công chưa? Sử dụng lệnh redis-cli ping. Nếu kết quả trả về “PONG” như bên dưới là chúng ta đã cài đặt thành công.

Cấu hình Ruby on Rails sử dụng Redis

Sửa file Gemfile của Ruby on Rails thêm dependency của Redis

# Redis store
gem 'redis-rails'
gem 'redis-store', '~> 1.4.0'

– Chạy command bundle để update lại gem

bundle update

– Tạo file có đường dẫn: config/initializers/session_store.rb với nội dung như bên dưới

Rails.application.config.session_store :redis_store,
                                       secure: false,
                                       servers: redis://127.0.0.1:6379/0/session,
                                       expire_in: 604800

Bây giờ dữ liệu của session trong ứng dụng Rails của bạn đã được lưu trên Redis, thay cho lưu trên Cookie của trình duyệt rồi đấy. 🙂

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *