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表示排名的第几位。