字符串
字符串是redis中最基本的数据类型,
可存储的数据类型:
- 二进制数据
- JSON化对象
- 图片
允许存储的最大容量:512MB
指令
设置值
set key value [EX seconds] [PX milliseconds] [NX|XX]
参数名 | 含义 |
---|---|
EX seconds | 设置键key的过期时间,单位时秒 |
PX milliseconds | 设置键key的过期时间,单位时毫秒 |
NX | 只在key不存在时,才对key进行设置操作 |
XX | 只有键key存在的时候才会设置key的值 |
获取值
GET key (不存在时返回空)
递增数字
INCR key (如果不存在,会创建一个为0的值,执行一次+1,原子性操作)
INCRBY key increment (incr bar 3 增加三,不加则+1)
INCRBYFLOAT key increment(增加浮点数)
减少数字
DECR key (同INCR,操作为减)
DECRBY key increment
向尾部追加值
APPEND key value (返回字符串长度)
获取字符串长度
STRLEN key (不存在返回0,中文一个字长度为2)
批量设置值MSET
MSET key value [key value ...]
二进制操作
GITBIT key offset
SETBIT key offset value
BITCOUNT key [statrt] [end]
BITOP operation destkey key [key ...]
散列
散列类型的键值是一种字典结构,存储了字段值 key和value,字段值只能是字符串
一个散列类型包含最多2^31-1个字段
赋值取值
HSET key field value (执行插入HSET返回1,执行更新返回0)
HGET key field
HMSET key field value [field value...]
HMGET key field [field ...]
HGETALL key
HKEYS key
HVALS key
判断值是否存在
HEXISTS key field
当字段不存在时才赋值
HEXISTS key field
增加数字
HINCRBY key field increment
删除字段
HDEL key field [field ...]
获取字段数量
HLEN key
列表类型
列表类型内部使用双向链表,存储有序的字符串列表,一个列表类型最多容纳2^32-1个类型
添加元素
LPUSH key value [value ...] (左端添加)
RPUSH key value [value ...] (右端添加)
弹出元素
LPOP key
RPOP key
获取列表中元素个数
LLEN key
获得列表片段
LRANGE key start stop
删除列表中指定的值
LREM key count value
获得指定索引的元素值
LINDEX key index
设置指定索引的元素值
LSET key index value
保留start - stop范围之间的值
LTRIM key start stop
向列表中插入元素
LINSERT key BEFORE|AFTER pivot value
将元素从一个列表移动到另一个
RPOPLPUSH source destination(source列表执行RPOP弹出元素,再执行LPUSH将弹出元素追加到destination左边,原子操作)
集合
在集合中每个元素都不重复,无序,内部使用hast table,一个集合类型(set)键可以存储最多2^32-1个字符串
增加元素
SADD key member [member ...]
删除元素
SREM key member [member ...]
获取元素
SMEMBERS key (获取所有元素)
判断集合中是否存在元素
SISMEMBER key member (存在返回1,不存在返回0)
集合间运算
SDIFF key [key ...] (求差集)
SINTER key [key ...] (求交集)
SUNION key [key ...] (并集)
获得集合中元素个数
SCARD key
集合运算并且存储结果
SDIFFSTORE destination key [key ...]
SINTERSTORE destination key [key ...]
SUNIONSTORE destination key [key ...]
随机获得集合中的元素
SRANDMEMBER key [count]
从集合中弹出元素
SPOP key [count]
有序集合
有序集合使用散列表和跳跃表实现,
增加元素
ZADD key [NX|XX] [CH] [INCR] score member [score member ...]
获得元素分数
ZSCORE key member
获得排名范围内的元素
ZRANGE key start stop [WITHSCORES]
ZREVRANGE key start stop [WITHSCORES]
获得分数范围内的元素
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
增加某个元素的分数
ZINCRBY key increment member
获得集合中元素的数量
ZCARD key
获得指定分数范围内的元素个数
ZCOUNT key min max
删除一个或多个元素
ZREM key member [member ...]
按照排名范围删除元素
ZREMRANGEBYRANK key start stop
按照分数范围删除元素
ZREMRANGEBYSCORE key min max
获得元素排名
ZRANK key member
ZREVRANGE key start stop [WITHSCORES]
计算交集
ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX