Redis存储的是key-value结构的数据,其中key是字符串数据,value有5种常用的数据类型:①字符串;②哈希hash;③列表list(按照插入顺序排序,可以有重复元素);④集合set(无序集合,没有重复元素);⑤有序集合sorted set(有序集合,没有重复元素)。
Redis的命令请参考官网:https://www.redis.net.cn/
key | value |
SET key value:设置指定key的值(如果对同一个key进行多次set,则只会保留最后一次设置的value)
GET key:获取指定key的值
SETEX key seconds value:设置指定key的值,并将key的过期时间设为seconds秒
SETNX key value:只有在key不存在时才设置key的值
key | 这里的value对应两个 | |
field1 | value1 | |
field2 | value2 |
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
HSET key field value:将哈希表中key的字段field的值设置为value
HGET key field:获取存储在哈希表中指定key中的field的value
HDEL key field:删除存储在哈希表中的指定key中的字段field
HKEYS key:获取哈希表中指定key中的所有field
HVALS key:获取哈希表中指定key中的所有value
HGETALL key:获取在哈希表中指定key中的所有field和value
key | value(有序) | |||
value1 | value2 | value3 | value4 |
LPUSH key value1 [value2]:将一个或多个值插入到列表头部
LRANGE key start stop:获取列表指定范围内的元素(查询所有,lrange key 0 -1)
RPOP key:移除并获取列表最后一个元素
LLEN key:获取列表长度
BRPOP key1 [key2] timeout:移出并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到timeout时间结束或发现可弹出元素为止
key | value(无序) | |||
value2 | value1 | value4 | value3 |
SADD key member1 [member2]:向集合添加一个或多个成员
SMEMBERS key:返回集合中的所有成员
SCARD key:获取集合的成员数
SINTER key1 [key2]:返回给定所有集合的交集
SUNION key1 [key2]:返回所有给定集合的并集
SDIFF key1 [key2]:返回给定所有集合的差集
SREM key member1 [member2]:移除集合中一个或多个成员
每个元素会关联一个double类型的分数,通过分数来为集合中的成员进行从小到大的排序
key | value(有序) | |||
value2:1.2 | value1:2.3 | value4:3.7 | value3:3.8 |
ZADD key score1 member1 [score2 member2]:向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZRANGE key start stop [WITHSCORES]:通过索引区间返回有序集合中指定区间内的成员
ZINCRBY key increment member:有序集合中对指定成员的分数加上增量increment
ZREM key member [member .….]: 移除有序集合中的一个或多个成员
KEYS pattern:查找所有符合给定模式的key(keys *查找所有key)
EXISTS key:检查给定key是否存在
TYPE key:返回key所储存的值的类型
TTL key:返回给定key的剩余生存时间(TTL,time to live),以秒为单位
DEL key:在key存在时删除key