Redis与Mysql等关系型数据库的第一点区别就是Redis的数据存储结构,Mysql等关系型数据库以表的形式存放数据,而Redis提供Key-Value形式的存储格式。与Mysql等数据库的第二点区别就是数据结构不同,Mysql等关系型数据库支持整数、浮点数、字符串、文本、时间戳等等,而Redis的Key-Value格式中Key只能是String类型,但Redis的Value类型有5种,Value可以为String,List,散列类型(Map),Set(集合类型),ZSet(有序集合类型)。这一点看起来好像Mysql要更胜一筹,但你需要知道Redis的源码仅仅只有3万行左右,相比Mysql,这已经很不错了。
Redis的Value类型有5种,其中String类型是基础,其他四种格式包含的只能是String类型,且这5种格式不能有相互嵌套。什么意思? 例如,在列表中的各项只能是字符串,而不能是列表、map、集合,而对于集合等其他数据结构来讲也是一样。
前面也说过,在Redis中是使用指令来进行数据操纵的。Redis一共提供了100个指令,上面所说的各个类型都需要不同的指令来操纵。这指令听起来好像很多,但其实真正使用的只有一部分,而且这些执行很简单,非常容易记忆。例如,将字符串存储到Redis中使用set指令。
可以看到,键入set指令会有一个提示,然后继续输入: