字符串类型String
- 存储序列化后的数据 ,Json化的对象甚至是一张图片
- 支持最大512M
- 基础命令
1.set
2.get
3.incr:将key中存储的数字值加1,如果key不存在,则key的值先被初始化为0在执行incr操作(只能对数字类型的数据操作)
4.decr:每次减一
注意:incr和decr操作是原子性的,是线程安全的,可以作为计数器来使用(比如一个管理系统可以用他们来统计当前已经geng)
5.append:
语法:append key value
如果key存在,则将value追加到key原来值得末尾
如果key不存在,则将key的值设为value
返回值,追加字符串值后的总长度 - 常用命令
1.strlen key
返回key所存储的字符串值得长度
返回值:如果key存在,返回字符串值长度
key不存在返回0
2.getrange key start end
作用:获取key中字符串值从startt开始到end结束的字符串,包括start和end,负数表示从字符串的末尾开始,-1表示最后一个字符
返回值:截取的字符串
截取所有字符:getrange key 0 -1
- setrange key offset value
用value覆盖key的存储值从offset开始,不存在的key做空白字符串
- mset key value[key value …]
同时设置一个或多个key-value对
返回值:ok
- mset key value[key value …]
哈希类型hash
-
存储完整java对象
-
基础命令
-
hset hsah表的key field value
将哈希表key中的域fieid的值设为value 如果key不存在,则新建hash表进行不是,如果有field则覆盖值。
返回值:如果field是hash表中新field,且设置值成功返回1
如果field已经存在,新值覆盖旧值,返回0 -
hget ey field
获取哈希表key中给定域field的值
返回值field域的值,如果key不存在或者field不存在返回nil -
hmset key field value[key value…]
-
hmget key filed [field…]
-
hgetall key
-
hdel key filed[field…]
-
常用命令
-
hkeys key 返回哈希表key中所有field
-
hvals key 返回哈希表key中所有的value
-
hexists key filed 给定域field是否存在
返回值:如果field存在,返回1,其他返回0
列表类型list
- 基本命令
- lpush key value[value…]
将一个或多个value插入到列表key的表头 - rpush key value[value…]
- lrange key start stop
获取start到stop下表区间的元素值(包括start和stop下标) - lindex key index
获取列表key中下标为指定ingdex的元素,列表元素不删除只查询 - llen key
获取列表key的长度
- 常用命令
- lrem key count value
根据参数count的值,移除列表中与参数value相等的元素
lrem item 2 2b
表示从左侧删除item中2个值是2b的元素
lrem item -2 2b
表示从右侧删除item中两个值是2b的元素
lrem item 0 2b
表示删除列表item中所有值是2b的元素 - lset key index value
将key下标为inde的元素值设为value - linsert key BEFORE|ALFTER pivot value
将value插入到列表key当中位于值pivot之前或者之后的位置。
- lrem key count value
集合类型set
集合中成员是唯一的,一个集合中不出现重复的数据
- 基本命令
- sadd key member [member…]
将一个或多个member元素加入到集合key当中, - smembers key
获取集合key 中的多有成员元素不存在的key视为空集合 - ismember key member
判断member元素是否是集合key的成员
有返回1没有0 - scard key
获取集合里面的元素个数
返回数字key的元素个数,其他情况返回0 - srem key member [member…]
删除集合key中一个或多个member元素,不存在的元素别忽略
- sadd key member [member…]
- 常用命令
- srandmember key [count]
只提供key,随机返回集合中一个元素
count为正数时返回包含count个元素的集合,集合元素各不相同
count是负数,返回一个count绝对值长度的集合,集合中元素可能重复多次。 - spop key [count]
随机删除一个元素,count是删除的元素个数
- srandmember key [count]
有序集合类型zset
zset和set一样也是string类型元素的集合,且不允许有重复的成员。不同的是zset的每一个元素都会关联一个分数(分数可以重复),redis通过分数来为集合中的成员进行从小到大的排序。
- 基本命令
- zadd key score member [ score member …]
将一个或多个元素及其score值加入到有序集合key中,如果member存在集合中则更新值,score可以是整数或浮点数,默认从小到大排序,score值一样时按照字典序排列 - zrange key start stop[WITHSCORES]
查询有序集合,指定区间内的元素,默认只返回value,WITHSCORES选项让score和value一同返回 - zrevrange key start stop [WITHSCORES]
返回有序集key中,指定区间内的成员,其中成员的位置按dcore值递减排序,其他同zrange命令 - zrem key member[member]
删除有序集合key中的一个或多个成员。 - zcard key
获取有序集合key的元素成员个数
- zadd key score member [ score member …]
- 常用命令
-
zrangebyscore key min max [WITHSCORES][LIMIT offset count]
获取有序集key中多有score值集介于min和max之间的成员(包括min和max)成员是按照递增排序。
min,max是包括在内,使用符号(即为不包括 min,max可以使用-inf,+inf表示最小和最大
limit用来限制返回结果的数量和区间的 -
zrevrangebyscore key min max [WITHSCORES][LIMIT offset count]
-
zcount key min max
返回有序集key中score值在min和max之间(默认包括min和max)
-