It is so funny that we spend such amount of time optimizing data structures, but we never think about training our own (natural) memory. At least, I haven't thought about this until I just stumbled on this article. Here is a list of techniques:

Introduction to Memory Techniques
Remembering a Simple List
Remembering Ordered Lists
Remembering Ordered Lists
Remembering Middle Length Lists
Remembering Long Lists
Remembering Grouped Information
Remembering Very Long Numbers
Using Concept Maps to Remember Structured Information
Using Aide Memoires
How to... Learn a Foreign Language
How to... Remember Information for Exams
How to... Remember People's Names
How to... Remember Lists and Long Numbers
Other Memory Tools - Reviewed...