cache RDD.count result

If my understanding is correct, RDD is immutable and hence RDD.count should always return the same result. User might not expect count() always trigger a Spark job, so shall we cache the result?