È possibile utilizzare set ordinati in redis. Il conteggio delle visualizzazioni o delle risposte può essere il punteggio. creare una chiave in base al timestamp. Il metodo di set ordinato zrevrangebyscore ti darà l'ordine corretto.
puoi impostare il tuo membro del set ordinato come:
'YEAR_MONTH_DATE_HOUR_MINUTE_SECONDS:question_id'
In questo modo, se si ordinano, le domande con lo stesso punteggio verranno restituite in ordine lessicografico. In questo modo la domanda che è arrivata in seguito verrà posizionata più in alto se usi zrevrangebyscore.
Puoi creare una mappa hash per mappare timestamp e question_id. per una ricerca più rapida
Ho posto una domanda simile, dove ho anche proposto una soluzione. Voglio qualcosa di diverso ma farà esattamente quello che vuoi.
Redis zrevrangebyscore, ordinamento diverso dall'ordine lessicografico