Asked Sep 27th, 2018 2:32 a.m. 3729 0 2
  • 3729 0 2
0

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

Share
  • 3729 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 ANSWERS


Answered Sep 27th, 2018 4:36 a.m.
Accepted
+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é 😉

Share
Avatar Ninh Quang @nguyenninhquang
Sep 27th, 2018 4:48 a.m.

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 =))

0
| Reply
Share
Sep 27th, 2018 4:53 a.m.

@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à.

+1
| Reply
Share
Avatar Ninh Quang @nguyenninhquang
Sep 27th, 2018 5:04 a.m.

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

0
| Reply
Share
Avatar Tran Duc Thang @thangtd90
Sep 27th, 2018 5:22 a.m.

@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 😄

+1
| Reply
Share
Sep 27th, 2018 5:40 a.m.

@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 (?)

0
| Reply
Share
Avatar Ninh Quang @nguyenninhquang
Sep 27th, 2018 5:42 a.m.

@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

0
| Reply
Share
Sep 27th, 2018 6:04 a.m.

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

0
| Reply
Share
Sep 27th, 2018 9:47 a.m.

@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

+2
| Reply
Share
Avatar Tran Duc Thang @thangtd90
Sep 27th, 2018 9:52 a.m.

@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 😄

0
| Reply
Share
Avatar Ninh Quang @nguyenninhquang
Sep 27th, 2018 10:04 a.m.

@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 ạ =))

+2
| Reply
Share
Sep 28th, 2018 2:39 a.m.

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

+1
| Reply
Share
Avatar Ninh Quang @nguyenninhquang
Sep 28th, 2018 3:15 a.m.

@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 ? =))

0
| Reply
Share
Answered Sep 27th, 2018 2:40 a.m.
+4

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

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

Share
Avatar Ninh Quang @nguyenninhquang
Sep 27th, 2018 2:46 a.m.

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

0
| Reply
Share
Sep 27th, 2018 3:41 a.m.

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.

+2
| Reply
Share
Viblo
Let's register a Viblo Account to get more interesting posts.