Redis数据类型
Redis支持五种数据类型:String(字符串),hash(哈希),list(列表),set(集合)及zset(有序集合),下面分别详细介绍。
String(字符串)
String是Redis最基本的类型,你可以理解成与Memcached(也是一个开源的分布式内存对象缓存系统)一模一样的模型,一个key对应一个value。
String类型是二进制安全的。意思是redis的String可以包含任何数据,比如jpg图片或者系列化的对象。
String类型是Redis最基本的数据类型,String类型的最大存储是512MB。
实例:
Hash(哈希):
Redis hash是一个键值(key=>value)对集合
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
实例:
DEL runoob用于删除前面测试用过的key,不然会报错:
List(列表):
Redis列表是简单的字符串列表,按照插入循序,你可以添加一个元素到列表的头部(左边)或尾部(右边)
由此可以看出list是有序可重复的。
Set(集合)
Redis的set是string的无需集合。集合是通过哈希表实现的所以添加,删除,查找的复杂度都是O(1)。
sadd命令:添加一个string元素到key对应的set集合中,成功返回1,如果元素在集合中返回0,如果key对应的set不存在则返回错误。
实例:
由此可以看出set是无序不可重复的。
zset(sorted set:有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
zadd 命令
添加元素到集合,元素在集合中存在则更新对应score