📅  最后修改于: 2023-12-03 15:19:47.397000             🧑  作者: Mango
Redis是一款开源的内存数据库,常用于缓存、持久化、队列、分布式锁等场景。而StrictRedis是Redis的一个python客户端库。它们之间的区别有以下几个方面:
Redis在默认情况下是没有开启安全验证的。也就是说,如果你的Redis服务器用的是默认的配置,任何能够访问Redis服务器的人都可以随意读写Redis的数据。因此,Redis的安全问题就需要在配置文件中进行设置。
和Redis不同,StrictRedis在新建实例时就需要填写Redis的密码才能连接Redis服务器。这就使得Redis的安全问题得到了更好的保障,因为其他人即使拿到连接的参数,也无法进行操作。
Redis支持的数据类型有:字符串、列表、集合、有序集合、字典。StrictRedis同样支持这些数据类型,但是在使用时,StrictRedis需要用到python的类型转换。如果你是使用Node.js开发,则需要借助redis模块来转换。
Redis和StrictRedis都实现了redis协议中定义的所有命令。但是在使用时,有些细节方面的差异。例如,当Redis服务器返回一个错误响应时,Redis会把完整的错误信息返回给客户端,但是StrictRedis只会返回错误的原因。
// Redis的错误响应
127.0.0.1:6379> incr foo
(error) ERR value is not an integer or out of range
// StrictRedis的错误响应
redisClient.incr('foo', function(err, res) {
console.log(err); // null
console.log(res); // 'ERR value is not an integer or out of range'
});
总体来说,Redis和StrictRedis之间的区别不大,核心的功能都是一样的,但是在一些细节方面还是有些差异的。在使用时,需要注意这些差异,以免出现错误。