You may just Conjunctivitis that is the technical term for red eyes. And there are many reason causes bloodshot eyes. In detail, it may caused by bacteria, or an irritation or injury or even cold. If wear contact lenses, you shall give up contact lenses for some times untill the condition is entirely cleared up. Or you may try to eye drops to help your blood shot eyes.
Bloodshot eyes can be caused by many factors. Maybe your eyes are allergic to something,which cause the blood shot eyes. If so, you should stay away from the allergen and then your bloodshot eyes will go away by itself. Some red eyes may be caused by dry eyes. In this case, you should go to see your doctor to take treatment to deal with dry eyes. As you got bloodshot eyes for a long time, I suggest you see a doctor as soon as possible.