Yêu cầu thg 9 27, 2018 2:32 SA 3732 0 2
  • 3732 0 2
0

Hỏi về nơi lưu session

Chia sẻ
  • 3732 0 2

Em đọc nhiều bài viết trên mạng cũng như diễn đàn nói session lưu ở 1 file ở server vậy cho em hỏi ngu là em có thể tìm thấy file đó ở đâu để em coi thử mặt mũi nó như nào ạ! mong mọi người chỉ giáo em dùng ruby on rails ạ

2 CÂU TRẢ LỜI


Đã trả lời thg 9 27, 2018 4:36 SA
Đã được chấp nhận
+3

Session được lưu ở server thôi chứ cũng không nhất thiết là phải được lưu trong 1 file em ạ 😄

Và việc lưu thế nào thì nó sẽ tuỳ thuộc vào ngôn ngữ, hay framework mà em sử dụng. Hầu như giờ các framework đều cung cấp các session driver khác nhau, để giúp lập trình viên có thể tuỳ chọn cách lưu trữ session khác nhau. Em có thể lưu vào file, lưu vào trong Redis, hay lưu vào trong Mysql/Postgresql cũng được hết 😄

Nếu như em chuyên làm về Rails thì em có thể tham khảo bài viết TÌM HIỂU VỀ SESSION VÀ CÁCH THỨC LƯU TRỮ SESSION DATA của tác giả @nguyen.duc.tung để tìm hiểu kỹ hơn nhé 😉

Chia sẻ
Avatar Ninh Quang @nguyenninhquang
thg 9 27, 2018 4:48 SA

em đã đọc bài này r anh =)) htrc em có hỏi lại người phỏng vấn thì đc trả lời là k nên lưu trong cookie (như các thứ nhất của bài viết kia), lưu db thì e nghĩ cũng k ổn vì nó sẽ khá là tốn tài nguyên còn redis thì e chưa tìm hiểu. Cái chính là e muốn xem mặt mũi nó thế nào thôi =))

thg 9 27, 2018 4:53 SA

@nguyenninhquang Xem mặt mũi là sao bạn? Nếu muốn biết session trông thế nào thì inspect ra là được mà.

Avatar Ninh Quang @nguyenninhquang
thg 9 27, 2018 5:04 SA

ý mình là xem "file lưu session" như trong nhiều bài viết đề cập đến đó bạn

Avatar Tran Duc Thang @thangtd90
thg 9 27, 2018 5:22 SA

@nguyenninhquang Lưu vào file thì sẽ có một nhược điểm là khi scale ứng dụng chạy trên nhiều server thì sẽ không hoạt động được, do đó trên môi trường Production thì người ta lưu trong Redis hay DB nhiều hơn. Lưu trong DB thì đúng là hiệu suất không bằng lưu trong Redis được 😄

thg 9 27, 2018 5:40 SA

@nguyenninhquang Đã lưu vào DB hay Redis thì làm gì có khái niệm file hả bạn? Lúc đó session sẽ được lưu theo dạng key-value bình thường thôi. Hay ý bạn là muốn hỏi xem có cách nào lưu session ra file không (?)

Avatar Ninh Quang @nguyenninhquang
thg 9 27, 2018 5:42 SA

@bs90 "Em đọc nhiều bài viết trên mạng cũng như diễn đàn nói session lưu ở 1 file ở server" ý mình là muốn xem cái file đó ở đâu vì mình thấy rất nhiều bài viết về session nói chung nhắc đến điều này

thg 9 27, 2018 6:04 SA

@nguyenninhquang Bạn có thể dẫn ra đây một vài bài viết như vậy được không?

Avatar Ninh Quang @nguyenninhquang
thg 9 27, 2018 8:53 SA
thg 9 27, 2018 9:47 SA

@nguyenninhquang Một bài thì viết chung chung về khái niệm session, một bài thì là PHP (có vẻ nhưng mặc định PHP lưu session bằng file thật 😄) Còn theo mình biết trong ruby on rails thì có 3 kiểu setting chính như bài này chứ không lưu vào file nhé 😃

https://viblo.asia/p/rails-tim-hieu-ve-session-va-cach-thuc-luu-tru-session-data-BAQ3vV3PRbOr

Avatar Tran Duc Thang @thangtd90
thg 9 27, 2018 9:52 SA

@bs90 @nguyenninhquang Đúng là PHP mặc định lưu session vào file. Nhiều framework, library PHP sử dụng luôn tính năng mặc định này của ngôn ngữ, nên cũng sẽ lưu vào file. Mà PHP thì phổ biến quá nên có thể vì đó mà có tư tưởng "session được lưu vào file trên server" chăng 😂

Chứ thực tế thì sesion thì được lưu ở server, còn lưu vào đâu thì là do lập trình viên quyết định thôi 😄

Avatar Ninh Quang @nguyenninhquang
thg 9 27, 2018 10:04 SA

@bs90 chính vì e đọc 1 bài viết chung về session và đọc bài về các cách lưu session trong ruby nên mới thấy hoang mang ạ =))

thg 9 28, 2018 2:39 SA

@nguyenninhquang Kinh nghiệm là không phải cái gì được viết trên mạng cũng đúng =))

Avatar Ninh Quang @nguyenninhquang
thg 9 28, 2018 3:15 SA

@bs90 em có chắt lọc nhưng vì nó được nhắc đến ở nhiều chỗ quá nên buộc phải đặt dấu ? =))

Đã trả lời thg 9 27, 2018 2:40 SA
+4

Bạn dùng hàm phpinfo(); sẽ thấy nhé.

Screenshot from 2018-09-27 09-39-32.png

Chia sẻ
Avatar Ninh Quang @nguyenninhquang
thg 9 27, 2018 2:46 SA

mình dùng ruby on rails không biết có cách nào k ??

thg 9 27, 2018 3:41 SA

Mỗi framework chắc hẳn sẽ cung cấp nhiều cách thức lưu trữ session khác nhau (files, database,...). Tôi chưa dùng ruby on rails bao giờ nhưng tôi nghĩ rằng nếu framework này hoặc một package bạn đang dùng có hỗ trợ lưu session vào files thì trong cấu hình session phải có khai báo đường dẫn đến một thư mục nào đó - nơi lưu trữ dữ liệu session.

Còn với ruby native thì hãy thử tìm hiểu file cấu hình của ngôn ngữ ruby khi nó được cài đặt trên HĐH mà bạn đang sử dụng.