I have had my email address for several years, and although I do not have very stringent spam filtering enabled, I still don't get a lot of spam email. One tactic that I have used that I think helps me keep it this way is that I don't give out my email address to websites that request an email address just for registration.
Many sites require some kind of user registration just to access their content, and they require a valid email address to register. Instead of giving them my real email address, which they may or may not use responsibly, I often choose to use a throwaway email address from mailinator.com. This gives an email address to which the site can send the registration email without actually entrusting the site with my personal email address and increasing my chances of receiving spam.
Sometimes a site has some code that apparently rules my made-up mailinator.com email address as "invalid", but fortunately Mailinator also has several other domains that point to the same place, so I have always been able to find a different domain that is not blocked that accomplishes the same purpose.
There are other services on the internet that will do the same thing. I use Mailinator because it is easy and works for me. If you have an email address that you would like to guard against spam, I recommend not giving the address out unless you really trust the site to which you are disclosing your email. This will not protect you 100% from spam—perhaps not even close—but it should help.