What is the most efficient way to store and access images

心不动则不痛 提交于 2019-12-11 23:51:24

问题


I am working on a project which has to store tens and thousands of images on a server and let the users access them. I need the most efficient method to store these images and to retrieve them. Also, I need information about which technology I should opt. I haven't started the project yet. So, I am thinking between PHP w/ CodeIgniter and Ruby on Rails.

The site hosts many images that are uploaded only by the Authors of the content, and not by the users.


回答1:


When you store images, it is beneficial to generate a checksums for them so you can check if images are duplicated and store only one instance.

Organization of folders is important as file system seeks images just like a relative database and many images in one folder would be a problem. When you have already implemented checksumming, you could easily create a directory structure from checksum, for example first two characters of MD5 would be 1st level of subfolders and two next characters would be a second level. The remaining characters would be the image file itself. If you want to allow duplicates, after checksum you can add a suffix for image name.

Regarding storage - you should have a separate static content server with fast and specialized web server like nginx or lighttpd to forget about performance issues. HDD should set up as a a RAID array.

EDIT: For your web project requirements, just store information about images in the database, used framework is not relevant to image storage itself.




回答2:


If you use PHP, you could always use some of the software available for image storage and manipulation, like Gallery, or phpThumb, or at least, have a look at their code so you don't have to reinvent the wheel. Having said that, I am sure there must exist similar libraries for ruby.




回答3:


Look a bit around, this is very common question. But these links might help you

  • PHP: accepting user uploads best practices!
  • Rails: http://www.therailsway.com/2009/3/16/storing-your-files

You may want to research more

Edit#1: One suggestion, just don't store your images in database.



来源:https://stackoverflow.com/questions/4633454/what-is-the-most-efficient-way-to-store-and-access-images

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!