A simple way to measure the rotational speed of a shaft.

I am new to arduino uno so please excuse the ignorance.
I am turning a stirrer shaft using a DC motor. I have managed to control the speed of the motor and the direction but I now want to read the speed (RPM) on an LCD. My thoughts are to use a Rotary encoder? Does anyone have another solution to this?
Thanks

put a magnet on the shaft and use a hall sensor to count pulses ?

Drill a hole through the shaft and shine a led on a LDR through the hole? - with two hole you can detect 90 degrees angles :slight_smile:

put mirror on the shaft and detect the reflection ....

more?

Great I am on it with the hall effect sensor and magnet.
Thank you.