
redis使用
命令行查询
1 | |
常用命令
1 | |
发布订阅
1 | |
HINCRBY
1 | |
参数说明:
key:哈希表的名称。field:要进行递增操作的字段。字段不存在会默认设置为0increment:递增的增量值,可以是正数(加)也可以是负数(减)。
要获取 HINCRBY 命令增加后的值,可以使用 HGET 命令或者 HGETALL 命令来获取哈希表中指定字段的值。
返回值是字符串类型
SCAN
1 | |
DBSIZE
要统计Redis中键的数量,可以使用DBSIZE命令。该命令返回当前Redis数据库中的键的总数;
需要注意的是,DBSIZE命令的执行是一个O(1)复杂度的操作,因此可以在很短的时间内获取到键的数量,而不会随着键数量的增加而影响性能。
INFO memory
执行以上命令后,会返回一个包含多个键值对的信息。其中包括内存使用的各种指标,例如使用的内存总量、键的数量、使用的主要数据结构等。
nodejs
1 | |
eggjs
1 | |
redis和mysql
Redis可以提供数据持久化的功能,包括两种持久化方式:
- 快照持久化(RDB):Redis可以将当前数据库状态保存到磁盘上的二进制文件。这个文件可以在Redis重启时用于恢复数据。
- 追加日志持久化(AOF):Redis可以将所有写操作以追加的方式写入日志文件。这个日志文件可以在Redis重启时重放,以重建数据库状态。
虽然Redis提供了持久化功能,但是MySQL仍然有其独特的优势和适用场景,因此在某些情况下,使用Redis和MySQL的组合可以带来更好的效果:
- 事务和ACID支持:Redis虽然提供了简单的事务支持,但是在复杂事务场景下可能不如MySQL灵活。MySQL是一种关系型数据库,支持事务和ACID特性,对于需要保证数据一致性和事务处理的应用场景,MySQL可能是更好的选择。
- 数据一致性的长期保证:Redis持久化可以恢复数据,但是对于在持久化过程中发生故障的情况,可能会导致部分数据丢失。而MySQL以其稳定的持久化能力,能够更好地确保数据的一致性和可靠性。
- 复杂查询和分析:MySQL作为关系型数据库,提供了更丰富的查询和分析功能,例如支持复杂的SQL语句、聚合查询、连接操作等。对于需要进行复杂查询和数据分析的场景,使用MySQL可能更加适合。
总之,Redis对于高性能的缓存和部分持久化需求来说非常适用,但在一些其他方面(如事务支持和复杂查询)可能相对有限。因此,在一些需要更准确数据一致性、复杂查询和更多灵活性的场景中,使用Redis和MySQL的组合可以发挥各自的优势,满足不同的需求。
