Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Dữ liệu vào bộ nhớ đệm trong PHIÊN BẢN PHP hoặc truy vấn từ db mỗi lần?

Nếu dữ liệu của bạn được sử dụng trên mọi trang và giống nhau đối với tất cả người dùng, tôi sẽ không lưu nó vào bộ nhớ cache trong $ _SESSION (có nghĩa là có một bản sao khác của dữ liệu đó cho mỗi người dùng), nhưng với một chủ nghĩa khác, như:

  • tệp
  • Trong bộ nhớ, với APC chẳng hạn (nếu chỉ có 1 máy chủ)
  • Trong bộ nhớ, với memcached, chẳng hạn (nếu bạn có nhiều máy chủ)
  • Nếu dữ liệu của bạn yêu cầu các phép tính dài hoặc một số truy vấn DB được lấy, thì khả năng lưu vào bộ nhớ đệm trong cơ sở dữ liệu có thể là một khả năng khác (có nghĩa là chỉ có 1 truy vấn để tìm nạp trở lại và ít tính toán hơn)


Nếu dữ liệu của bạn không giống nhau cho mỗi người dùng (có vẻ như trong trường hợp của bạn, vì bạn đang lưu vào bộ nhớ đệm tên, ngày sinh, ...) :

  • Tôi sẽ đảm bảo rằng tôi chỉ lưu vào bộ nhớ cache những gì cần thiết
  • Sau khi bạn chỉ có một vài dữ liệu cần lưu vào bộ nhớ cache, việc đưa dữ liệu đó vào phiên sẽ khá ổn
  • Nếu bạn thực sự có nhiều người dùng như vậy, có thể bạn sẽ gặp một số vấn đề khác về khả năng mở rộng và rất có thể sẽ sử dụng thứ gì đó như memcached; có nghĩa là bạn sẽ có một số cách khác để lưu vào bộ nhớ đệm;-)

Như một chú thích phụ:nếu bạn thực hiện lặp đi lặp lại cùng một truy vấn, máy chủ DB của bạn nên tự lưu vào bộ nhớ cache của nó (đối với MySQL, nó sẽ đi vào " truy vấn bộ nhớ cache "); vì vậy, nó sẽ không tệ như bạn nghĩ, tôi cho là - ngay cả khi không được tối ưu hóa nhiều như vậy ^^



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trên Cập nhật khóa trùng lặp giống như chèn

  2. Lỗi khi cài đặt mysql2:Không thể tạo tiện ích mở rộng gốc đá quý

  3. Chỉ mục băm MySQL để tối ưu hóa

  4. hiển thị dòng mới mysql trong HTML

  5. Độ dài cột JSON tối đa trong MySQL