"select 2", or selecting any other database doesn't work when redis is loading the database in memory.
redis localhost:6388[2]> select 2
(error) LOADING Redis is loading the dataset in memory
However, there is no reason for not allowing this. You don't have to touch the dataset for selecting a database.
This is a big issue for asynchronous clients which have a reconnectfactory. (Like in Twisted Matrix, python) When a TCP connection was dropped, because the redis server was shut down, the factory tries to reconnect. As soon as a connection is established again, when redis is listening on the socket, it will send the SELECT and AUTH commands.
There are probably other reconnection strategies, but there's no reason on the redis side for not allowing this.
See this issue on txredisapi: IlyaSkriblovsky/txredisapi#45 (comment)