R – URL without ID

rewriteurl

I see often (rewritten) URLs without ID in it, like on some wordpress installations. What is the best way of achieve this?
Example:
site.com/product/some-product-name/
Maybe to keep array of page names and IDs in cache, to avoid DB query on every page request?
How to avoid conflicts, and what are other issues on using urls without IDs?

Best Solution

Using an ID presents the same conundrum, really--you're just checking for a different value in your database. The "some-product-name" part of your URL above is also something unique. Some people call them slugs (Wordpress, also permalinks). So instead of querying the database for a row that has the particular ID, you're querying the database for a row that has a particular slug. You don't need to know the ID to retrieve the record.