Redis的五大数据类型
key指令(非数据类型)
keys * 查看所有的key
exists key的名字 查看某个key是否存在
move key db 将某个key及对应的值从当前库移动到某个库
expire key 秒钟 设置key的过期时间(过期不代表删除 仍然存在库中)
ttl key 查看还有多久过期 (-1代表永不过期 -2代表已经过期)
type key 查看key的类
String
String类型总结来说就是单值单类型,key-Value。string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。
使用:设置值 set key value 取值 get key
List
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边),key是数组名
使用 LPUSH key value1 例如: LPUSH key value1 ,LPUSH key value2,LPUSH key value4
LRANGE key 0 10 就取出了名称为key的数组中前10个元素,redis中还提供了一系列类似数组操作的命令,具体可以查询api 例如 LINDEX key index 通过索引获取列表中的元素等等 LPOP key 移出并获取第一个元素,RPOP key 移除列表的最后一个元素,返回值为移除的元素。
Set
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。‘可以看成一个不允许重复元素的List
redis 127.0.0.1:6379> SADD runoobkey redis
(integer) 1
redis 127.0.0.1:6379> SADD runoobkey mongodb
(integer) 1
redis 127.0.0.1:6379> SADD runoobkey mysql
(integer) 1
redis 127.0.0.1:6379> SADD runoobkey mysql
(integer) 0
redis 127.0.0.1:6379> SMEMBERS runoobkey
1) "mysql"
2) "mongodb"
3) "redis"
Hash
Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。 说白了,redis中的hash本质上还是一个key-value 但是value也是一个键值对
redis 127.0.0.1:6379> HMSET runoob field1 "Hello" field1 "Helloworld" field2 "World"
"OK"
redis 127.0.0.1:6379> HGET runoob field1
"Hello"
"Helloworld"
redis 127.0.0.1:6379> HGET runoob field2
"World"
Zset
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。
zadd key score member
实例
redis 127.0.0.1:6379> zadd runoob 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd runoob 30 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd runoob 0 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd runoob 0 rabitmq
(integer) 0
redis 127.0.0.1:6379> > ZRANGEBYSCORE runoob 0 20
1) "rabitmq"
2) "redis"