It is not a coincidence that almost every mathematics textbook contains some words to the effect that "mathematics is not a spectator sport" – this seems kind of obvious, but it is something which eluded me for a while. The best way to practice and improve at maths is to do lots of practice questions, regularly. But once one has answered a question, it's very easy to forget the insights learned. One very powerful tool to avoid this is to use Anki which is (put simply) a free (and open source) flashcard application with very clever scheduling (which helps to efficiently remember content for a long duration).
In any case, here is a very simple formula which nonetheless I have found to be very effective; make Anki cards with a maths question on the front and the answer on the back. Some people (e.g. Luke Thorburn) have quite complex setups but I personally have found simple question-answer flashcards to be simpler and (anecdotally) more effective primarily because they are more "active" (in the sense of active recall) – recalling definitions can become very tedious very quickly. This is not to say that knowing definitions is not important, but I think that it is more helpful to have questions which test understanding of the definition rather than just memorising a specific formulation which someone has come up with; after all, problems (should) motivate definitions in mathematics rather than the other way round.
I should interject (myself, I know) here with an important statement; Anki really helps to consolidate knowledge rather than to learn things from scratch. As such, it is important to first enjoy learning/reading the subject matter in question (and struggling through the exercises at the end of a chapter) before making Anki flashcards based on them. I tend to make Anki cards on questions that I get wrong rather than on everything as I find this to be somewhat more efficient.
Some people have asked me about this; use the Anki one, it's the point of Anki! I think it's also better to create fewer flashcards and actually review them than to create too many and not.
Some example flashcards
Here's a flashcard I created to help me remember some basic definitions (note: the front side is all the content above the grey horizontal line, and the back is the content below it)
Here's another example – again, these are extremely barebones (by design; it means that I have more time to spend reviewing them).