了解Redis,从预备知识开始(redis预备知识)
Redis是一个开源的内存键值对存储数据库,被广泛用于缓存,消息队列和任务队列等应用场景。要想学习Redis,优先了解一些预备知识也是很有必要的,因为 Redis 使用的数据类型,与操作方法和一般大多数数据库都有所不同。
要了解Redis的基本特征:它支持六个不同类型的数据:String,List,Set,Sorted Set,Hash和HyperLogLogs。String类型可以是一个数字,一个字符串或者一个其他类型转换来的值,它可以搭配各种数据结构按照位索引进行存储,在操作过程中可以在多位索引的位置上设置位标志或者使用计数器/计时器来更有效的实现相关操作。List 类型是一个列表,可以从列表末尾或者开始插入数据,也可以在特定的位置插入数据,或者从头部/尾部读取数据,也可以实现队列/堆栈结构,用于实现常见的任务队列功能。Set 类型类似于List类型,可用于实现集合运算、去重等。Sorted Set类型可以用来记录一组有序的数据,可以根据排序值排序,可以更准确的实现排行榜。Hash 类型可以类似key-value的结构存储一个对象,这里的key在Redis里作为hash map的field字段,而value则作为value字段;HyperLogLogs 则是用于计算一组数据的基数的,可以用来统计一定时间内的独立用户数等信息。
Redis有几种不同的事务特性:Symetric Transactions,Pipelined Transactions和Multi-Exec Transactions等。Symetric Transaction可以用来执行多条命令,前提是这些命令要操作的数据都在同一个数据库中;Pipelined Transaction可以将多条命令连接起来,可以提高性能,这种事务可以支持多个数据库;Multi-Exec Transaction则是客户端可以执行多条不同数据库之间的命令,支持使用更复杂的事务操作。
Redis还有一些特殊的数据结构,比如Bitmap,HyperLogLogs和Commands,这些特殊的数据结构可以提供比其他常见数据结构更好的性能和体验,比如Bitmap 可以用于位操作,提升统计分析,比如在统计有多少活跃用户等场景;HyperLogLog以及聚合统计可以用于数据挖掘中;Commands则可以用于实时处理计数、排序和分组等操作。
要理解Redis,从了解基础概念开始是很有必要的,要了解Redis支持的数据类型和操作,以及其特殊的数据结构,这些知识点非常的重要!