支持的数据类型有五种:
string(字符串)、hash(哈希)、list(列表)、set(集合)及zset(sorted set:有序集合);
下面分别对这几种类型进行简单的Redis存取操作
1:string(字符串)
几种里面最常用,也是最简单的类型,使用方式如下:
redis 127.0.0.1:6379> SET name "runoob" OK redis 127.0.0.1:6379> GET name "runoob" 注意:一个键最大能存储512MB。这个容量已经是相当大了,基本不可能超过,纯字符串哪里会超过512M的,所以放心使用即可!
2:hash(哈希)
哈希是一个键名对类型的,键和值都是string类型的,适合存储一个对象,例如我要存储一个叫zhangsan的人,年龄 26岁,身高180:
127.0.0.1:6379> HMSET zhangsan age 26 height 180 OK 127.0.0.1:6379> HGETALL zhangsan1) "age" 2) "26" 3) "height" 4) "180"每个 hash 可以存储 232 -1 键值对(40多亿),也完全够用了
3:list(列表)
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
redis 127.0.0.1:6379> lpush runoob redis(从最左边插入) (integer) 1 redis 127.0.0.1:6379> rpush runoob mongodb(从最右边插入) (integer) 2 redis 127.0.0.1:6379> lpush runoob rabitmq(从最左边插入) (integer) 3 redis 127.0.0.1:6379> lrange runoob 0 10(返回第1个到第10个值,lrange runoob 0 -2->表示从左边第一个到右边倒数第二个) 1) "rabitmq"2) "redis"3) "mongodb"
4:set(集合)
Redis的Set是string类型的无序集合。无序但唯一,不重复
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
添加一个string元素到,key对应的set集合中,成功返回1,如果元素已经在集合中返回0,key对应的set不存在返回错误。
redis 127.0.0.1:6379> sadd runoob redis mongodb (integer) 1 redis 127.0.0.1:6379> sadd runoob rabitmq (integer) 1 redis 127.0.0.1:6379> sadd runoob rabitmq (integer) 0 redis 127.0.0.1:6379> smembers runoob 1) "rabitmq" 2) "mongodb" 3) "redis"
集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员),完全够用
5:zset(sorted set:有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
zadd key score member (语法)
redis 127.0.0.1:6379> zadd runoob 0 redis 1 mongodb (integer) 2 redis 127.0.0.1:6379> zadd runoob 2 rabitmq (integer) 1 redis 127.0.0.1:6379> zadd runoob 2 rabitmq (integer) 0 redis 127.0.0.1:6379> ZRANGEBYSCORE runoob 0 1000 (从0到1000分按分数排序) 1) "redis" 2) "mongodb" 3) "rabitmq"
时间: 2024-12-19 15:04:55