Redis储存登录凭证怎么做的?Redis挂掉了怎么办?

552 阅读2分钟

Redis可以用来存储登录凭证

具体做法如下:

  1. 用户登录时,服务器生成一个唯一的凭证(token),并将其存储在Redis中,同时将该token返回给用户。
  2. 用户在每次请求时,都需要将该token作为参数传递给服务器。
  3. 服务器收到请求后,会先在Redis中查找该token,如果找到,则表示用户已登录,可以继续处理请求;如果没有找到,则表示用户未登录,需要重新登录。
  4. 如果用户长时间未操作,服务器会定期清除Redis中过期的token,以防止token泄露。

登录返回的token通常包含以下信息:

  1. 用户ID:用于标识用户的唯一ID。
  2. 过期时间:token的有效期,一般设置为几个小时或几天。
  3. 签名:用于验证token的完整性,一般使用HMAC算法。
  4. 其他信息:可以根据需要添加其他信息,如用户权限等。

储存数据的Redis挂掉了怎么办?

如果Redis挂掉了,可以采取以下措施:

  1. 检查Redis服务器的状态,确认是否真的挂掉了:可以使用Redis的客户端工具(如redis-cli)连接Redis服务器,查看Redis服务器的状态,确认是否真的挂掉了。
  2. 如果Redis服务器真的挂掉了,可以尝试重启Redis服务器,以恢复正常的运行状态:可以使用Redis的客户端工具(如redis-cli)连接Redis服务器,执行“shutdown”命令,重启Redis服务器,以恢复正常的运行状态。
  3. 如果重启Redis服务器后仍然无法恢复正常的运行状态,则可以尝试从备份中恢复数据,以恢复Redis中的数据:可以使用Redis的客户端工具(如redis-cli)连接Redis服务器,执行“restore”命令,从备份中恢复数据,以恢复Redis中的数据。
  4. 如果没有备份,则可以尝试使用其他数据库(如MySQL)来替代Redis,以保存数据:可以使用MySQL的客户端工具(如MySQL Workbench)连接MySQL服务器,创建数据库,并将Redis中的数据导入MySQL中,以保存数据。

(面试时回答加粗字体即可,待面试官问具体用什么指令再补充)