面试题答案
一键面试- 异常一:无效的数据库索引
- 异常描述:使用
SELECT
命令时指定了超出范围的数据库索引(Redis默认0 - 15号数据库),如SELECT 16
,Redis会返回错误信息。 - 处理方案:在应用程序中确保使用正确的数据库索引范围。在获取或配置数据库索引参数时进行边界检查,若为用户输入则对输入值进行校验,若超出范围提示用户输入正确范围的索引值。
- 异常描述:使用
- 异常二:在事务中使用SELECT
- 异常描述:在Redis事务块(使用
MULTI
开启事务,EXEC
执行事务)中使用SELECT
命令切换数据库,Redis会将SELECT
视为一个普通命令放入事务队列,但不会实际执行数据库切换,直到EXEC
执行时会报错,因为事务不支持数据库切换操作。 - 处理方案:避免在事务中使用
SELECT
命令切换数据库。如果业务需要在不同数据库操作,应该将事务拆开,先使用SELECT
切换数据库,然后再开启并执行事务。
- 异常描述:在Redis事务块(使用