Hỏi về site youtube

Discussion in 'Thảo Luận Chung' started by nguyenvan, Dec 3, 2019.

  1. Dang

    Dang Bang Chúng

    Cache bằng code vẫn hơn và mình dùng 1 đoạn đó để thực hiện 1 chức năng : chỉ lưu lại tối đa 10 file mới nhất mà user tải lên.
     
  2. Nai

    Nai MiddleMan Staff Member

    Vậy cái mảng phát sinh từ array_map('filemtime', $items) đâu có được sử dụng đâu.
    Cache vài trăm GB lận cụ, mem cache hình như cache trên RAM đâu đủ đô
     
  3. I Love Php

    I Love Php Bang Chúng

    Cache ram dùng nhanh gọn thôi ko cache dc nhiều như dùng file
     
  4. Dang

    Dang Bang Chúng

    Đúng ra là khai báo 1 biến để lưu array_map('filemtime', $items), nhưng nó là biến tạm và không sử dụng lại nên mình gộp lại cho nhanh, gọn và lẹ.
     
  5. JohnWick

    JohnWick Sơ Nhập Giang Hồ

    Ý bác là ram không đủ à ?
     
  6. Nai

    Nai MiddleMan Staff Member

    Mình thắc mắc từ đầu tới giờ là cái array_map('filemtime', $items) đóng vai trò gì ấy. Do mình chưa hiểu rõ array_multisort() trong code bác chia sẻ ở trên hoạt động thế nào, đóng vai trò gì trong việc xóa cache quá cache_time
     
    Dang likes this.
  7. Nai

    Nai MiddleMan Staff Member

    RAM ko đủ 1 phần, 1 phần là mình đọc tài liệu thấy nó cài đặt cho từng domain nữa nên hao càng thêm hao. Cache file sài chung được
     
  8. Dang

    Dang Bang Chúng

    :D Ạ! array_map('filemtime', $items) nó sẽ trả về 1 mảng có chứa filetime của thằng $items. Mình dùng nó cho gọn, còn đầy đủ của nó thì phải qua 1 loop để lấy danh sách filetime và lưu trong một biến. Biến này là dữ liệu để sắp xếp cho cái $items.
    Cách dùng ở trên có ưu điểm là không loop hết mà chỉ loop đến đoạn có chứa các file hết hạn.

    P / S : Có lẽ hơi loãng chủ đề của chủ thớt nên tạo 1 thread mới thì hơn. Và đoạn code đó thích hợp với yêu cầu của mình, có thể yêu cầu của bạn sẽ khác nên đoạn code đó sẽ không thích hợp!
     
  9. JohnWick

    JohnWick Sơ Nhập Giang Hồ

    Liên quan gì domain đâu bác. Bác đặt thêm prefix cho key là được

    Chi phí cho RAM rẻ hơn rất nhiều cho chi phí maintain khác.
     
  10. Nai

    Nai MiddleMan Staff Member

    Là thằng array
    _multisort() nó tự hiểu là phải sắp xếp list items theo danh sách tăng dần của thời gian cache từng item luôn sao bác. Sao nó hiểu được nhỉ.
    Thấy thêm disk được chứ thêm RAM là nâng cấp luôn vps hoặc dedicated server mà.
     
  11. Dang

    Dang Bang Chúng

    Đoạn này bên php. net dễ hiểu nè @Nai :

    PHP:
    <?php

    $array 
    = array('Alpha''atomic''Beta''bank');

    array_multisort(array_map('strtolower'$array), SORT_ASCSORT_STRING$array);

    print_r($array);

    ?>
     
  12. JohnWick

    JohnWick Sơ Nhập Giang Hồ

    Nếu cache file thì khó khăn trong việc scale lên nhiều server, cache sẽ không đồng bộ giữa các server. Đấy là kinh nghiệm của mình thôi :)
     
  13. Vito_King

    Vito_King Sơ Nhập Giang Hồ

    Khi làm mỗi site mới bác lại mua thêm 1 ip cho mỗi domain à? Vì như bác nói là server, thì chắc sẽ chứa nhiều site
     
  14. JohnWick

    JohnWick Sơ Nhập Giang Hồ

    Chạy load balancing chứ. Một site chạy nhiều server. Scale out not scale up ;)
     
  15. Nai

    Nai MiddleMan Staff Member

    Cái cách cache của mình là nhiều site dùng chung data đó cụ.
    Em đó giờ chưa bao giờ 1 site chạy 1 server hết chứ đừng nói là nhiều server {cry} (Trừ site gì căng quá cần reverse proxy)
     
  16. Nai

    Nai MiddleMan Staff Member

    Thank bác, giờ hiểu rồi. Cụ thể là mảng thứ 2 trở đi sẽ sort dựa theo vị trí index của mảng đầu tiên.{winner}
     
    Dang likes this.
  17. nguagovt

    nguagovt Sơ Nhập Giang Hồ

    Giờ mình muốn lấy cái id như này thì như nào vậy mọi người :D
    cái ID này nó luôn ở cuối :D
    tieu-de-abc-ID.html
    tieu-de-dai-hon-abc-ID.html
     
  18. Dang

    Dang Bang Chúng

    PHP:
    <?php

    $uri 
    'tieu-de-abc-123456789.html';

    if (
    preg_match(($regex '/(.*?)-([0-9]{1,21})\.html$/'), $uri))
    {
        echo 
    preg_replace($regex'$2'$uri);
    }
    else
    {
        
    // false
    }

    ?>
     
    hocauo40 and nguagovt like this.
  19. nguagovt

    nguagovt Sơ Nhập Giang Hồ

    không được rồi bác ơi. Tiêu đề và ID nó có cả chữ và số :D
     
  20. Dang

    Dang Bang Chúng

    Bạn thử chạy đoạn mã đó chưa? Mình kiểm tra các input : tieu-de-abc-123456789.html hoặc tieu-de-4-123456789.html hoặc 4-123456789.html thì output đều là 123456789 mà.