Redis使用
String类型
String是redis中最基本的类型,一个key对应一个value。
赋值:set key value
取值:get key
批量赋值
mset key value key2 value2 ... keyN valueN
批量取值
mget key key2 key3 ... keyN
取值并赋值:
getset key value
删除key:del key ... keyN
数值加一:incr key
数值加N:incrby key N
数值减一:decr key
数值减N:decrby key N
字符串追加:append key value
字符串长度:strlen key
Hash散列类型
Redis hash是一个键值对集合,和Java的HashMap类似
Redis hash是一个String类型的field和value的映射表,hash特别适合用于存储对象(key可以是对象+id,field是对象属性,value是属性值)
给一个字段赋值:hset key field value
给多个字段赋值:hmset key field value ... fieldN valueN
取一个字段的值:hget key field
取多个字段的值:hmget key field value ... fieldN valueN
取所有字段名和值:hgetall key
删除字段名和值:hdel key field ... fieldN
判断字段是否存在 hexists key field
存在的话返回1,不存在的话返回0
获取key的所有field:hkeys key
获取key的所有value:hvals key
获取field个数:hlen key
List类型
Redis列表是采用链表来存储的简单字符串列表,按照插入顺序排序,添加元素一般从链表两端开始。
向列表左侧加元素:lpush key value ... valueN
向列表右侧加元素:rpush key value ... valueN
遍历列表:lrange key startIndex endIndex
-1 表示最后一个元素
获取List长度:llen key
通过下标获取值:lindex key index
通过下标设置值:lset key index value
列表左侧移除第一个元素:lpop key
列表右侧移除第一个元素 rpop key
截取保留剩下的列表:ltrim key startindex endindex
在指定元素插入:linsert key after/before index value
把集合第一个元素移到其他集合中:rpoplpush key otherListKey
Set类型
Redis的set是String类型的无序集合,它是通过HashTable实现的,用法和List类型很相似。
新增集合元素:sadd key value ... valueN
删除集合元素:srem key value ... valueN
获取集合所有元素:smembers key
集合差集:sdiff key1 key2
集合交集:sinter key1 key2
集合并集:sunion key1 key2
获取集合长度:scard key
Zset类型
Redis的zset(sorted set)和set一样也是string类型元素的集合,且不允许有重复的成员。不同的是zset的每个元素都会关联一个double类型的分数,zset正是通过分数来为集合中的成员进行排序。zset的成员是唯一的,但是分数(score)却是可以重复。
新增集合元素:zadd key score value ... scoreN valueN
获取元素分数:zscore key value
按照分数从小到大排序:zrange key startIndex endIndex
按照分数从大到小排序:zrevrange key startindex endindex
统计分数比value少的个数:zrank key value
统计分数比value高的个数:zrevrank key value
输出分数在指定值内的元素:zrangebyscore key score1 score2
给元素加分:zincrby key score value
获取元素个数:zcard key
统计分数内的个数:zcount key score1 score2
删除指定排名内的元素:zremrangebyrank key no1 no2
删除指定分数内的元素:zremrangebyscore key score1 score2
删除指定元素:zrem key value
注:zcount 统计分数内的个数,score1<=keyScore<=score2;zremrangebyrank的No1和no2表示排名的第几位。