Redis中的数据都是key / value对,这里数据类型指的是value的值的类型
数据类型 | 说明 |
---|
String | 是Redis的基本数据类型,为二进制安全的可以包含任意数据类型,例如图片,Redis中的String类型的数据的上限为512M |
List | Redis列表是简单的字符串类型,按照插入顺序排序,可以添加一个元素列表的头部(左侧)或者尾部(右侧)一个列表最多可以包含2³² - 1个元素(4294967295)每个列表超过40忆个元素 |
Hash | 是一个String类型的fileld和value到的映射表,Hash特别适合用于储存对象,Redis中每个哈市可以储存2³² -1 键值对(40多忆) |
Set | Set是String类型的无须集合,集合成员是唯一的,集合中不能出现重复的数据,Redis中集合是通过哈希表实现的所以添加,删除查找的复杂都是0(1),集合中最大成员是2³² - 1(4294967295,每个集合可以储存40多亿个成员) |
ZSet | 有序集合和集合一样也是String类型的元素的集合,而且不允许重复成员,不同的是每个元素都会关联一个double类型的分数Redis正式通过分数来为集合中的成员进行从大到小的排序。有序集合的成员是唯一的,但分数(score)可以重读。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是通过0(1)。集合中最大成员是2³² - 1(4294967295,每个集合可以储存40多亿个成员 |
String命令
命令 | 说明 |
---|
set | 设置key的值 |
get | 获取对应的key值 |
strlen | 获取key的值的长度 |
append | 在原有的value的基础上追加内容 |
incr | 将key储存的内容加指定的值 |
incrby | 将key储存的内容加指定的值 |
incrbyfloat | 将key储存的内容减一 |
decrby | 将key储存内容减去指定的值 |
getrange | 截取value的值 |
setrange | 修改value的部分内容根据偏移量修改 |
getset | 获取这只key的值并返回原来的旧值 |
mget | 批量获取值 |
mset | 批量设置值 |
setex | 设置key对应的value,同时设置过期时间,单位为秒 |
psetex | 设置key对应的value,同时设置过期时间,单位为毫秒 |
setnx | 只有在key不存在是设置key的值,set if not exists |
msetnx | 兼具了mset和setnx的特性 |
String类型之BIT命令
命令 | 说明 |
---|
getbit | 获取二进制中对应偏移量的值 |
setbit | 设置对应二进制为的值 |
bitcount | 统计二进制中为1的个数 |
bitop | 对二进制数据做位与操作,与,或,非,异或操作 |
bitpos | 返回字符穿里面第一个被设置为 1 或者 0 被 bit 位 |
Hash命令
命令 | 说明 |
---|
hset | 设置key字段中的值 |
hget | 获取key字段中的值 |
hmset | 批量设置key字段中的值 |
hmget | 批量获取key中的字段 |
hdel | 删除key中指定的字段 |
hsetnx | 设置key中的字段的值,如果字段存在就忽略 |
havls | 获取key中所有字段的值 |
hkeys | 获取key中的所有的字段 |
hgetall | 获取key中的所有的字段及值 |
hincrbyfloat | 和hincrby类似增加的 float 类型的输几局 |
hlen | 获取 key 中的字段的个数 |
hstrlen | 获取 key 中某个字段的值的长度 |
List命令
命令 | 说明 |
---|
lpush | 向列表头部添加一个或多个元素 |
lrange | 获取列表中指定元素 0 第一个, -1 最后一个 |
rpush | 向列表尾部添加一个或多个元素 |
llen | 获取列表长度 |
lset | 通过index设置列表的值 |
rpop | 移除最后一个元素并返回 |
lpop | 移除列表头部元素并返回 |
lindex | 获取列表中对应下标的值 |
ltrim | 截取列表对应的元素 |
blpop | lpop 的阻塞板 |
brpop | rpop 的阻塞板 |
brpoplpush | rpoplpush 的阻塞板 |
Set常用命令
命令 | 说明 |
---|
sadd | 添加一个或多个元素到集合中,如果集合中存在该元素则忽略 |
scard | 返回集合中的元素的个数 |
sismenmber | 判断集合中是否含有该元素 |
serm | 删除集合中指定的元素 |
srandmember | 随机返回集合中的元素,在版本2.6之后可以在命令后跟一个count,指定随机返回的元素的个数 |
spop | 和 srandmember 类似,只是spop会将获取的元素移除而srandmember不会移除元素 |
smove | 将元素从一个集合移到另一个集合中 |
sdiff | 返回两个集合的差集 |
sdiffstore | 和sdiff类似,不容的是将结束结果保存起来 |
sinter | 获取两个集合的并集 |
sunionstore | 获取两个集合的的并集并保存起来 |
Zset有序集合介绍
命令 | 说明 |
---|
zadd | 向有序集合中添加一个或多个分数 / 元素对 |
zscore | 获取有序集合中元素对应的分数 |
zrange | 获取集合中的元素如果加上withscores则会连同分数一并返回 |
zrevrange | 和zrange类似,只是将结果倒序了 |
zcard | 和返回集合中元素的个数 |
zcount | 统计集合中分数在min和max之间的元素的个数 |
zrangebyscore | 可以根据score范围查找元素 |
zrank | 获取元素在集合中的排名,从大到小,最小是0 |
zrevrank | 获取元素在集合中的排序从大到小 |
zincrby | 给元素增加分数,如果不存在就创建新的元素,并赋予对应的分数 |
zinterstore | 计算给定的一个或多个有序集的交集并将结果集储存在新的有序集合key中 |
zrem | 从集合中弹出一个元素 |
zlexcount | 计算有序集合中指定字节区间内成员数量 |
zrangebylex | 获取指定区间的元素,分数必须相同 |