Why isn't systemctl starting redis-server on CentOS 7?

Solution 1:

Finally, fixed it. Systemd requires redis to run non-daemonised, so the config needed to change:

# /etc/redis.conf
daemonize yes # << comment this out

Solution 2:

Just to add to the accepted answer, I recently updated redis and encountered the same problem. The configuration file /etc/redis.conf already had the line daemonize no and I still had that problem.

I fixed it by telling redis to interact with the supervisor systemd:

# /etc/redis.conf
supervised auto # or systemd

For reference, the system I was using was running Arch Linux.